C#编写程序时,如何与SQL Server连接?(unfinished)
1.使用【SQL Server.NET Framework 数据提供程序】
SQL Server.NET Framework数据提供程序专门用于访问SQL Server数据库,位于SqlClient命名空间。
2.创建和使用连接对象
1)声明引用命名空间
要使用SQL Server.NET Framework数据提供程序访问SQL Server数据库,首先要在代码文件的首部使用下面的语句声明命名空间的引用:
1 Using System.Data.SqlClient;
2)创建连接对象
要实现对数据库的各种操作,必须首先使用连接对象连接上数据库。通过下面的语句创建连接对象:
1 SqlConnection conn = new SqlConnection();//连接对象名字可以自定义,并非一定是conn
3)设置连接对象的连接字符串的属性。
连接字符串的属性包括:连接的数据源、登录验证方式和数据库名称。
其中,登录验证方式又分两种:①Windows身份验证;②SQL Server身份验证。
① 如果采用Windows身份验证,可以设置连接字符串属性为:
1 Conn.ConnectionString = "Data Source = (local);Initial Catalog = Customer;Integrated Security = true";
其中,Data Sources 设置数据库实例名称,如果使用本地数据库默认实例,可以简写为"(local)"或"."(点号)或"127.0.0.1";Initial Catalog设置了初始数据库为 Customer;Integrated Security 设置为 true,表示使用Windows身份验证方式。
② 如果采用SQL Server 身份验证,需要指明用户名 User id 和密码 Password,设置连接字符串属性为:
1 Conn.ConnectionString = "Data Source =(local);Initial Catalog = Custumer;User id = sa;Password = 123";
这里我们假定用户名为sa,密码为123。
【注意】:
1.Data Source 有多个别名,可以是 Server、Address、Addr、Network Address之一;
2.Catalog 也可以写为 Database;
3.User ID 可以写为 UID;
4.Password 可以写为 PWD;
下面的语句与前面使用 SQL Server 身份验证的连接字符串是等价的;
Conn.ConnectionString = "Server = (local);Database = Custumer;UID = sa;PWD = 123 ";
其中,(local)可以用"."或"127.0.0.1"来代替本地数据库服务的实例名。如果没有密码可以留空,例如:
Conn.ConnectionString ="Server =.;Database = Custumer;UID = sa;PWD =";
如果不使用数据库服务器的默认实例,则还需要指定实例名,例如:
Conn.ConnectionString ="Server =.\\实例名;Database = Custumer;UID = sa;PWD =";
或 Conn.ConnectionString ="Server = 服务器名称(服务器IP)\\实例名;Database = Custumer;UID = sa;PWD=";
3.调用Open方法和Close方法
创建连接对象并设置其连接字符串属性后,并未真正连接到数据库。要连接到数据库,需要调用其Open方法;当数据库操作完毕后,需要调用其Close方法来关闭与数据库的连接,以释放占用的系统资源。
代码示例:
1 SqlConnection conn = new SqlConnection(); 2 conn.ConnectionString = "Data Source = (local);Initial Catalog = Custumer;Integrated Security = true"; 3 4 conn.Open(); //打开连接 5 //在这里,执行其他数据库相关的操作 6 conn.Close(); //关闭数据库
4.补充知识
实践中,对于连接对象的连接字符串的书写,很容易出错。所以,为了避免错误,我们有下面几个办法,来从一定程度上解决这个问题。
方法1:声明一个字符串来保存连接字符串,然后创建连接对象时直接将该字符串用作实参
代码示例:
1 String conStr = "Data Source = (local);Initial Catalog = Custumer;User ID = sa;Password = 123"; 2 SqlConnection conn = new SqlConnection(conStr); 3 Conn.Open(); //打开连接 4 //在这里,执行其他数据库相关的操作 5 Close(); //关闭数据库
方法2:在程序项目里,添加一个【应用程序配置清单】(要用引用System.Configuration)。
应用程序配置清单的添加方法(未完待续)
然后在程序中,
使用ConfigurationManager.ConnectionStrings["应用配置清单中连接字符串名字"].ConnectionString函数获取连接字符串。
1 String conStr = ConfigurationManager.ConnectionStrings["yszx_database_server"].ConnectionString; 2 SqlConnection conn = new SqlConnection(conStr); 3 4 conn.Open(); //打开连接 5 //在这里,执行其他数据库相关的操作 6 conn.Close(); //关闭数据库连接
方法3:使用连接字符串构建器SqlConnectionStringBuilder来帮助创建连接字符串,SqlConnectionStringBuilder包含一下常用的属性:
(1)DataSource:用于指定数据源,等同于连接字符串中的Data Source的作用。
(2)InitialCatalog:指定登录后需要操作的数据库,等同于连接字符串中的Initial Catalog的作用。
(3)IntegratedSecurity:设置为true是表示使用Windows身份验证方式,设置为false时表示使用SQL Server身份验证方式。
(4)UserID:使用SQL Server身份验证方式时的用户名。
(5)Password:使用SQL Server身份验证方式时的密码。
(6)ConnectionString:自动构建的连接字符串。
代码示例:
1 SqlConnectionStringBuilder csb = new SqlConnectionStringBuilder(); 2 csb.DataSource = "(local)"; 3 csb.InitialCatalog = "Custumer"; 4 csb.IntegratedSecurity = true;//取为false时,需要下面被注释的两条语句 5 //csb.UserID = "sa"; 6 //csb.Password = "123"; 7 8 SqlConnection conn = new SqlConnection(); 9 conn.ConnectionString = csb.ConnectionString; 10 11 conn.Open(); //打开连接 12 //在这里,执行其他数据库相关的操作 13 conn.Close(); //关闭数据库
继续