首页 > 编程学习 > 使用datareader检索数据

使用datareader检索数据

发布时间:2022/6/23 23:31:13
ContractedBlock.gif ExpandedBlockStart.gif Code
SqlDataReader reader = command.ExecuteReader();

 以下代码示例循环访问一个 DataReader 对象,并从每个行中返回两个列。

ContractedBlock.gif ExpandedBlockStart.gif Code
if (reader.HasRows)
  
while (reader.Read())
    Console.WriteLine(
"\t{0}\t{1}", reader.GetInt32(0), reader.GetString(1));
else
  Console.WriteLine(
"No rows returned.");

reader.Close();

 

每次使用完 DataReader 对象后都应调用 Close 方法。

如果 Command 包含输出参数或返回值,那么在 DataReader 关闭之前,将无法访问这些输出参数或返回值。

请注意,当 DataReader 打开时,该 DataReader 将以独占方式使用 Connection。在原始 DataReader 关闭之前,将无法对 Connection 执行任何命令(包括创建另一个 DataReader)。

多个结果集

ContractedBlock.gif ExpandedBlockStart.gif Code
// Assumes that connection is a valid SqlConnection object.
SqlCommand command = new SqlCommand(
  
"SELECT CategoryID, CategoryName FROM dbo.Categories;" +
  
"SELECT EmployeeID, LastName FROM dbo.Employees", connection);
connection.Open();

SqlDataReader reader 
= command.ExecuteReader();

do
{
  Console.WriteLine(
"\t{0}\t{1}", reader.GetName(0), reader.GetName(1));

  
while (reader.Read())
    Console.WriteLine(
"\t{0}\t{1}", reader.GetInt32(0), reader.GetString(1));

while (reader.NextResult());

reader.Close();
connection.Close();

 

 

 

 

 

转载于:https://www.cnblogs.com/tangjian/archive/2009/02/12/1388818.html

Copyright © 2010-2022 ngui.cc 版权所有 |关于我们| 联系方式| 豫B2-20100000