读书笔记系列之------SqlCommander和SqlDataReader对象
2008-04-26 21:05
691 查看
一、特点介绍
⒈SqlCommand:表示要对执行的一个Transact-SQL语句或存储过程。
⒉SqlDataReader:提供一种从数据库读取只进的行流的一种方式。若要创建SqlDataReader,必须调用SqlCommand对象的ExecuteReader方法,而不直接使用构造函数。应该尽可能迅速的关闭SqlDataReader对象。
⒊SqlParameter:表示SqlCommand的参数,也可以是它到DataSet列的映射。
二、使用介绍
⒈创建SqlCommand对象:
stringstrConn,strSQL;
strConn=”…………”;
strSQL=”SelectCustomerID,CompanyNamefromCustomers”;
SqlConnectioncn=newSqlConnection(strConn);
cn.Open();
SqlCommandcmd;
cmd=newSqlCommand();
cmd.CommandText=strSQL;
cmd.Connection=cn;
cmd=newSqlCommand(strSQL,cn);
⒉执行无返回行的查询:
stringstrConn,strSQL;
strConn=”……”;
strSQL=”UpdateCustomersSETCompanyNme=’NewName’whereCustomersID=’ALFKI’”;
SqlConnectioncn=newSqlConnection(strConn);
cn.Open();
SqlCommandcmd=newSqlCommand(strSQL,cn);
intRecordsAffercted=cmd.ExecuteNonQuery();
if(RecordsAffercted==1)
……
else
…………
⒊用SqlDataReader对象检查查询结果:
① 获取结果
stringstrConn,strSQL;
strConn=”……”;
SqlConnectioncn=newSqlConnection(strConn);
cn.Open();
strSQL=”SelectCustomerID,CompanyNamefromCustomers”;
SqlCommandcmd=newSqlCommand(strSQL,cn);
SqlDataReaderrdr=cmd.ExecuteReader();
While(rdr.Read())
Console.Writeline(rdr[“CustomerID”]+rdr[“CompanyName”]);
Rdr.Close();
② 更快获取
Ⅰ使用基于序号的查找
……
SqlDataReaderrdr=cmd.ExecuteReader();
intCustomerIDOrdinal=rdr.GetOrdinal(“CustomerID”);
intCompanyNameOrdinal=rdr.GetOrdinal(“CompanyName”);
while(rdr.Read())
Console.WriteLine(rdr[CustomerIDOrdinal]+rdr[CompanyNameOrdinal]);
rdr.Close();
Ⅱ使用适当的类型指定Get方法
……
SqlDataReaderrdr=cmd.ExecuteReader();
intCustomerIDOrdinal=rdr.GetOrdinal(“CustomerID”);
intCompanyNameOrdinal=rdr.GetOrdinal(“CompanyNameOrdinal”);
while(rdr.Read())
Console.WriteLine(rdr.GetString(CustomerIDOrdinal)+rdr.GetString(CompanyNameOrdinal));
rdr.Close();
③获取多个结果
…
cn.Open();
stringstrSQL=”selectCustomerID,CompanyNamefromCustomers;”+“selectOrderID,CustomerIDfromOrders;”;1
⒈SqlCommand:表示要对执行的一个Transact-SQL语句或存储过程。
⒉SqlDataReader:提供一种从数据库读取只进的行流的一种方式。若要创建SqlDataReader,必须调用SqlCommand对象的ExecuteReader方法,而不直接使用构造函数。应该尽可能迅速的关闭SqlDataReader对象。
⒊SqlParameter:表示SqlCommand的参数,也可以是它到DataSet列的映射。
二、使用介绍
⒈创建SqlCommand对象:
stringstrConn,strSQL;
strConn=”…………”;
strSQL=”SelectCustomerID,CompanyNamefromCustomers”;
SqlConnectioncn=newSqlConnection(strConn);
cn.Open();
SqlCommandcmd;
cmd=newSqlCommand();
cmd.CommandText=strSQL;
cmd.Connection=cn;
cmd=newSqlCommand(strSQL,cn);
⒉执行无返回行的查询:
stringstrConn,strSQL;
strConn=”……”;
strSQL=”UpdateCustomersSETCompanyNme=’NewName’whereCustomersID=’ALFKI’”;
SqlConnectioncn=newSqlConnection(strConn);
cn.Open();
SqlCommandcmd=newSqlCommand(strSQL,cn);
intRecordsAffercted=cmd.ExecuteNonQuery();
if(RecordsAffercted==1)
……
else
…………
⒊用SqlDataReader对象检查查询结果:
① 获取结果
stringstrConn,strSQL;
strConn=”……”;
SqlConnectioncn=newSqlConnection(strConn);
cn.Open();
strSQL=”SelectCustomerID,CompanyNamefromCustomers”;
SqlCommandcmd=newSqlCommand(strSQL,cn);
SqlDataReaderrdr=cmd.ExecuteReader();
While(rdr.Read())
Console.Writeline(rdr[“CustomerID”]+rdr[“CompanyName”]);
Rdr.Close();
② 更快获取
Ⅰ使用基于序号的查找
……
SqlDataReaderrdr=cmd.ExecuteReader();
intCustomerIDOrdinal=rdr.GetOrdinal(“CustomerID”);
intCompanyNameOrdinal=rdr.GetOrdinal(“CompanyName”);
while(rdr.Read())
Console.WriteLine(rdr[CustomerIDOrdinal]+rdr[CompanyNameOrdinal]);
rdr.Close();
Ⅱ使用适当的类型指定Get方法
……
SqlDataReaderrdr=cmd.ExecuteReader();
intCustomerIDOrdinal=rdr.GetOrdinal(“CustomerID”);
intCompanyNameOrdinal=rdr.GetOrdinal(“CompanyNameOrdinal”);
while(rdr.Read())
Console.WriteLine(rdr.GetString(CustomerIDOrdinal)+rdr.GetString(CompanyNameOrdinal));
rdr.Close();
③获取多个结果
…
cn.Open();
stringstrSQL=”selectCustomerID,CompanyNamefromCustomers;”+“selectOrderID,CustomerIDfromOrders;”;1
相关文章推荐
- ADO.NET读书笔记系列之------SqlCommander和SqlDataReader对象
- ADO.NET读书笔记系列之------SqlCommander和SqlDataReader对象
- ADO.NET读书笔记系列之------SqlCommander和SqlDataReader对象
- SqlCommander和SqlDataReader对象
- 读书笔记系列之------SqlDataAdapter对象
- 数据读取器对象SqlDataReader与数据适配器对象SqlDataAdapter的使用
- SqlDataReader对象使用例子
- SqlDataReader未将对象应用设置到对象实例
- 数据读取器对象SqlDataReader与数据适配器对象SqlDataAdapter的使用
- C#操作SqlDataReader对象
- 黑马程序员_学习日记47_615数据库开发及ADO.Net(连接字符串、SqlDataReader对象、连接池)
- ADO.NET读书笔记系列之------SqlDataAdapter对象
- SqlDataReader对象的NextResult方法读取存储过程多个结果集
- 利用SqlCommand和SqlDataReader对象操作数据库(C#)
- SqlDataReader对象的NextResult方法读取存储过程多个结果集
- ADO.NET 主要的三个对象(SqlConnection/SqlCommand/SqlDataReader)
- ADO.NET读书笔记系列之------SqlDataAdapter对象
- (转载)ADO.NET读书笔记系列之------SqlDataAdapter对象
- 将 SqlDataReader 转为Model, 如果 SqlDataReader.read() 有值 ,返回对象,否则返回Null
- dhl:页面中调用 通过类返回SqlDataReader类型的对象