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();         //关闭数据库

继续

  

posted @ 2022-06-19 16:51  美人她爹  阅读(820)  评论(0编辑  收藏  举报