一、简单介绍ADO.NET
System.Data:DataTable,DataSet,DataRow,DataColumn,DataRelation,Constraint
System.Data.Common(各种数据访问类的基类和接口):DataColumnMapping,DataTableMapping
System.Data.SqlClient(对Sql Server进行操作的数据访问类):
1)SqlConnection:数据库连接器
2)SqlCommand:数据库命名对象
3)SqlCommandBuilder:生存SQL命令
4)SqlDataReader:数据读取器
5)SqlDataAdapter:数据适配器,填充DataSet
6)SqlParameter:为存储过程定义参数
7)SqlTransaction:数据库事务
二、SqlConnection(连接对象)
1、连接字符串
基本语法:数据源(Data Source)+数据库名称(Initial Catalog)+用户名(User ID)+密码(Password)。
说明:
(1)必须指定Sql Server支持的两种身份验证方法(即Windows身份验证和Sql Server身份验证)中的一种。要想使用Windows身份验证,必须在连接字符串中包括 Integrated Security 属性:Data Source=ServerName;Integrated Security=True;默认情况下,Integrated Security属性为False。
(2)连接字符串中可用的选项:
Application Name(应用程序名称):应用程序的名称。如果没有被指定的话,它的值为.NET SqlClient Data Provider(数据提供程序)。
AttachDBFileName/extended properties(扩展属性)/Initial File Name(初始文件名): 可连接数据库的主要文件的名称,包括完整路径名称。数据库名称必须用关键字数据库指定。
Connect Timeout(连接超时)/Connection Timeout(连接超时):一个到服务器的连接在终止之前等待的时间长度(以秒计),缺省值为15。
Connection Lifetime(连接生存时间): 当一个连接被返回到连接池时,它的创建时间会与当前时间进行对比。如果这个时间跨度超过了连接的有效期的话,连接就被取消。其缺省值为0。
Connection Reset(连接重置): 表示一个连接在从连接池中被移除时是否被重置。缺少值为真。
Current Language(当前语言): SQL Server语言记录的名称。
Data Source(数据源)/Server(服务器)/Address(地址)/Addr(地址)/Network Address(网络地址):SQL Server实例的名称或网络地址。
Encrypt(加密):当值为真时,如果服务器安装了授权证书,SQL Server就会对所有在客户和服务器之间传输的数据使用SSL加密。被接受的值有true(真)、false(伪)、yes(是)和no(否)。
Enlist(登记):表示连接池程序是否会自动登记创建线程的当前事务语境中的连接,其缺省值为真。
Database(数据库)/Initial Catalog(初始编目):数据库的名称。
Integrated Security(集成安全)/Trusted Connection(受信连接):表示Windows认证是否被用来连接数据库。它可以被设置成真、伪或者是和真对等的sspi,其缺省值为伪。
Max Pool Size(连接池的最大容量): 连接池允许的连接数的最大值,其缺省值为100。
Min Pool Size(连接池的最小容量): 连接池允许的连接数的最小值,其缺省值为0。
Network Library(网络库)/Net(网络):用来建立到一个SQL Server实例的连接的网络库。支持的值包括: dbnmpntw (Named Pipes)、dbmsrpcn (Multiprotocol/RPC)、dbmsvinn(Banyan Vines)、dbmsspxn (IPX/SPX)和dbmssocn (TCP/IP)。协议的动态链接库必须被安装到适当的连接,其缺省值为TCP/IP。
Packet Size(数据包大小):用来和数据库通信的网络数据包的大小。其缺省值为8192。
Password(密码)/Pwd:与帐户名相对应的密码。
Persist Security Info(保持安全信息):用来确定一旦连接建立了以后安全信息是否可用。如果值为真的话,说明像用户名和密码这样对安全性比较敏感的数据可用,而如果值为伪则不可用。重置连接字符串将重新配置包括密码在内的所有连接字符串的值。其缺省值为伪。
Pooling(池):确定是否使用连接池。如果值为真的话,连接就要从适当的连接池中获得,或者,如果需要的话,连接将被创建,然后被加入合适的连接池中。其缺省值为真。
User ID(用户ID):用来登陆数据库的帐户名。
Workstation ID(工作站ID):连接到SQL Server的工作站的名称。其缺省值为本地计算机的名称。
(3)例举典型连接字符串
1>SQL Server连接字符串
标准安全连接:
Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;或者
Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;Trusted_Connection=False;
可信连接:
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;或者
Server=myServerAddress;Database=myDatabase;Trusted_Connection=True;
2> Access连接字符串
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:myDatabase.mdb;User Id=admin;Password=;
3>MySQL连接字符串
Server=myServerAddress;Database=myDatabase;Uid=myUsername;Pwd=myPassword;
4>DB2连接字符串
Server=myAddress:myPortNumber;Database=myDatabase;UID=myUsername;PWD=myPassword;
5>Oracle连接字符串
Data Source=TORCL;User Id=myUsername;Password=myPassword;
2、创建连接对象
SqlConnectionStringBuilder connectionStringBuilder = new SqlConnectionStringBuilder()
{
DataSource = "",
InitialCatalog = "",
UserID = "",
Password = ""
};
SqlConnection connection = new SqlConnection(connectionStringBuilder.ToString());
3、打开和关闭连接对象
using(SqlConnection connection = new SqlConnection(connectionStringBuilder.ToString()))
{
connection.Open();
connection.Close();
}
4、连接池
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。