ADO.NET SqlConnection

1.Using块不需要显示调用SqlConnection对象的Close方法并确保即使在内部发生异常时,也会在该代码块末尾调用Dispose方法
using(SqlConnection cn=new SqlConnection(strConn))
{
     cn.Open();
}

2.连接字符串是由一系列用分号隔开的名称-值对组成。若连接的实例名称需要用到“\”时,可以使用双反斜杠或者在字符串前加上@符号,以表明此反斜杠只代表反斜杠。

3.可以使用SqlConnectionStringBuilder类来生成连接信息
SqlConnectionStringBuilder Test1=new  SqlConnectionStringBuilder()
connString.连接属性=value

最后得到连接字符串为:
SqlConnection cn=new SqlConnection(Test1.
ConnectionString);

使用连接字符串生成器可放置连接字符串注入。

当然在VS2005/2008中新建一个DataSource也可以得到相对应的connectionString

4.连接池
a.是一种在打开数据存储区的连接时提高应用程序性能的机制,在调用SqlConnection对象的Close方法时,SQL Client.NET数据提供程序并不实际关闭内部连接,相反,将内部连接存储到一个池中,以便在以后再次使用。如果在以后使用相同连接字符串和凭据调用b.SqlConnection对象的open方法,将会再次使用同一内部连接与数据库进行通信。
c.在ADO.NET中,连接池是默认启用的。
d.放入池中的连接的关闭时间取决于随机时间,当然在退出应用程序时存在已打开的连接池,那么也将会被正常关闭。
e.如果希望禁用连接池可以在连接字符串中加入Pooling=False字段

5.将SqlConnection用作始点的对象
a.SqlCommand
为了执行查询,必须将SqlCommand对象的Connection属性设置为SqlConnection对象,SqlCommand类提供了一种CreateCommand方法,可用于简化该过程。这一方法返回一个新的SqlCommand对象,已经对其进行初始化以使用SqlConnection对象。
b.SqlTransaction
使用SqlConnection对象来开始事务:
SqlTransaction txn=cn.BeginTransaction()  //此处的cn是一个SqlConnection对象实例
c.获取架构信息
DataTable tbl=cn.GetSchema(“Tables”);
foreach(DataRow row in tbl.Rows)
//读出数据
除了Tables,SqlConnection还支持其它的架构包括:Columns,Views,Procedures,Indexes,IndexColumns等

6.SqlConnection类的ChangeDatabase方法

cn.ChangeDatabase(“Northwind”);

<完>

posted @ 2009-09-22 17:02  斑点海豚---寂静的港湾  阅读(330)  评论(0编辑  收藏  举报