阅读器关闭时 Read 的尝试无效

deyi2009 2008-10-21 11:29:04
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.OleDb;
using System.Data.SqlClient;



namespace DataExample
{
class Program
{
static void Main(string[] args)
{

string source ="Provider=SQLOLEDB;"+
"server=(local);" +
"integrated security=SSPI;" +
"database=Northwind";
string select = "SELECT ContactName,CompanyName from Customers";
OleDbConnection conn = new OleDbConnection(source);

conn.Open();
OleDbCommand cmd = new OleDbCommand(select, conn);
OleDbDataReader aReader = cmd.ExecuteReader();
while (aReader.Read()) //在此处提示阅读器关闭时 Read 的尝试无效
{
Console.WriteLine("'{0}'from{1}", aReader.GetString(0), aReader.GetString(1));
aReader.Close();
conn.Close();
}

Console.ReadLine();
}


}


}
在while(aReader.Read())处提示阅读器关闭时 Read 的尝试无效,我照着《C#高级编程》(第四版)第532页的代码调试的,怎么会出错?请赐教!
...全文
116 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
deyi2009 2008-10-21
  • 打赏
  • 举报
回复
多谢了,可以解决!
zx005 2008-10-21
  • 打赏
  • 举报
回复
2楼所的对
zx005 2008-10-21
  • 打赏
  • 举报
回复
没用过SQLServer还以为OleDBConnection不能访问SQLServer里,晕啊
zx005 2008-10-21
  • 打赏
  • 举报
回复
你用的是SQlServer数据库,怎么用的OleDbConnection?
止戈而立 2008-10-21
  • 打赏
  • 举报
回复
aReader.Close();
conn.Close();

把这两行放while语句外面。。
皓月明 2008-10-21
  • 打赏
  • 举报
回复
你在读取一次数据后就关闭了Reader,那么在第二次读数据时当然读不出来了

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧