#T#了解ADO.NET的朋友都知道,ADO.NET为我们提供了多种对象模型,下面是其中的两个典型的对象模型,它们都是在System.Data.SqlClient名称空间下。下面我们大家就赶快的来看看吧!以往编写程序时,我们可以直接通过.NET Framework 所提供的多线程机制,或是以 Delegate 类包装多线程的方式,在 .NET Framework 所提供的异步架构下,设计调用执行 Command 对象实例。这些方法都是让一条工作线程(Worker Thread)停止在后台中等待执行结果,一旦有结果后,工作线程再通过标准的机制告知结果。
一、ADO.NET SqlConnection对象
ADO.NET使用SqlConnection对象与SQL Server进行连接。连接字符串的常用形式有两种:
1.使用Windows集成安全身份认证,例如:
- string connectionString ="IntegratedSecurity=SSPI;Database=MyDatabase.mdf;Server=localhost;";
或:
- string connectionString = "Initial Catalog= MyDataBase; Data Source=localhost;Integrated Security=SSPI;"
2.在连接字符串中指定服务器名、用户id、用户口令、数据库名等信息。例如:
- string connectionString = "server=localhost; uid=sa; pwd=123; database=MyDatabase.mdf";
然后通过连接字符串直接创建SqlConnection对象,如
- SqlConnection conn = new SqlConnection(connectionString);
二、ADO.NET SqlCommand对象
在ADO.NET中,有两种操作数据库的方式:
1.无连接的方式;
2.保持连接的方式。
不论采用哪种方式,都可以通过ADO.NET SqlCommand对象提供的方法传递对数据库操作的命令,并返回命令执行的结果。
在保持连接的方式下操作数据库的一般步骤为:
1.创建SqlConnection的实例;
2.创建SqlCommand的实例;
3.打开连接;
4.执行命令;
5.关闭连接。
ADO.NET SqlCommand对象提供了多种完成对数据库操作的方法。常用有:
- ExecuteNonQuery
该方法执行SQL语句的结果,但不返回命令执行的表数据,仅返回操作所影响的行数。
- ExecuteReader
ExecuteReader方法提供了只向前的、顺序的快速读取数据库中数据的方法。该方法根据提供的SELECT语句,返回一个可以顺序读取的SqlDataReader对象,编程者可以使用Read方法循环依次读取每个记录中各字段(列)的内容。
- ExecuteScaler()
该方法用于执行SELECT查询,得到的返回结果为一个值的情况,比如使用count函数求表中记录个数或者使用sum函数求和等。