当前位置:中国站长下载文章中心网页编程.NET编程 → ASP.NET2.0连接SQL Server数据库详解(2)

ASP.NET2.0连接SQL Server数据库详解(2)

减小字体 增大字体 作者:不详  来源:不详  发布时间:2006-8-14 8:22:21
     使用SqlConnection对象连接SQL Server数据库
  
    我们可以用SqlConnection()构造函数生成一个新的SqlConnection对象。这个函数是重载的,即我们可以调用构造函数的不同版本。SqlConnection()的构造函数如下表所示:
  
  构造函数 说明
  SqlConnection () 初始化 SqlConnection 类的新实例。
  SqlConnection (String) 如果给定包含连接字符串的字符串,则初始化 SqlConnection 类的新实例。
  
    假设我们导入了System.Data.SqlClient命名空间,则可以用下列语句生成新的SqlConnection对象:
  
  SqlConnection MySQLConnection = new SqlConnection();
  
    程序代码说明:在上述语法范例的程序代码中,我们通过使用“new“关键字生成了一个新的SqlConnection对象,并且将其命名为mySqlConnection。
  
    现在我们就可以使用如下两种方式连接数据库,即采用集成的Windows验证和使用Sql Server身份验证进行数据库的登录。
  
    集成的Windows身份验证语法范例
  
  string connectionString="server=localhost;database=Northwind;
  integrated security=SSPI";
  
    程序代码说明:在上述语法范例的程序代码中,我们设置了一个针对Sql Server数据库的连接字符串。其中server表示运行Sql Server的计算机名,由于在本书中,ASP.net程序和数据库系统是位于同一台计算机的,所以我们可以用localhost取代当前的计算机名。database表示所使用的数据库名,这里设置为Sql Server自带的一个示例数据库--Northwind。由于我们希望采用集成的Windows验证方式,所以设置 integrated security为SSPI即可。
  
    Sql Server 2005中的Windows身份验证模式如下:
  
  注意:在使用集成的Windows验证方式时,并不需要我们输入用户名和口令,而是把登录Windows时输入的用户名和口令传递到Sql Server。然后Sql Server检查用户清单,检查其是否具有访问数据库的权限。而且数据库连接字符串是不区分大小写的。
  
    采用Sql Server身份验证的语法范例
  
  string connectionString = "server=localhost;database=Northwind;uid=sa;pwd=sa";
  
    程序代码说明:在上述语法范例的程序代码中,采用了使用已知的用户名和密码验证进行数据库的登录。uid为指定的数据库用户名,pwd为指定的用户口令。为了安全起见,一般不要在代码中包括用户名和口令,你可以采用前面的集成的Windows验证方式或者对Web.Config文件中的连接字符串加密的方式提高程序的安全性。
  
    Sql Server 2005中的Sql Server身份验证模式如下:
  
  如果你使用其他的数据提供者的话,所产生的连接字符串也具有相类似的形式。例如我们希望以OLE DB的方式连接到一个Oracle数据库,其连接字符串如下:
  
  string connectionString = "data source=localhost;initial catalog=Sales;
  use id=sa;password=;provider=MSDAORA";
  
    程序代码说明:在上述语法范例的程序代码中,通过专门针对Oracle数据库的OLE DB提供程序,实现数据库的连接。data source 表示运行Oracle数据库的计算机名,initial catalog表示所使用的数据库名。provider表示使用的OLE DB提供程序为MSDAORA。
  
    Access数据库的连接字符串的形式如下:
  
  string connectionString = "provider=Microsoft.Jet.OLEDB.4.0;
  @”data source=c:\DataSource\Northwind.mdb”;
  
    程序代码说明:在上述语法范例的程序代码中,通过专门针对Access数据库的OLE DB提供程序,实现数据库的连接。这使用的的OLE DB提供程序为Microsoft.Jet.OLEDB.4.0,并且数据库存放在c:\DataSource目录下,其数据库文件为Northwind.mdb。
  
    现在我们就可以将数据库连接字符串传人SqlConnection()构造函数,例如:
  
  string connectionString = "server=localhost;database=Northwind;uid=sa;pwd=sa";
  SqlConnection mySqlConnection = new SqlConnection(connectionString);
  
    或者写成
  
  SqlConnection mySqlConnection =new SqlConnection(
  "server=localhost;database=Northwind;uid=sa;pwd=sa");
  
    在前面的范例中,通过使用“new“关键字生成了一个新的SqlConnection对象。因此我们也可以设置该对象的ConnectionString属性,为其指定一个数据库连接字符串。这和将数据库连接字符串传人SqlConnection()构造函数的功能是一样的。
  
  SqlConnection mySqlConnection = new SqlConnection();
  mySqlConnection.ConnectionString = "server=localhost;database=Northwind;uid=sa;pwd=sa";
  
    注意:只能在关闭Connection对象时设置ConnectionString属性。  做人要厚道,请注明转自chinazhan中国站长(www.ChinaZhan.com)。