• 主页
  • ASP
  • .NET Framework
  • Web Services
  • VB
  • VC
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • LINQ

救命啊!!这是怎么回事啊?在线等待回复!!

swollow_1980 2004-12-27 10:58:49
有这么一段代码,当执行while循环时,循环执行一次后在"while(TempDr.Read())"处报一个错误:Invalid operation. The OracleDataReader is closed. 这是为什么啊??

sql = "select s.inst_id,s.inst_name,t.lsparent from pmis.pm_om_insts s ,PM_PD_DEPS t where t.lsparent = 176 and s.inst_id=t.inst_id order by s.inst_dsp_idx";
Conn.Close();
Conn.Open();
OracleCommand TempCom = new OracleCommand(sql,Conn);
OracleDataReader TempDr = TempCom.ExecuteReader();
try
while(TempDr.Read())
{
string strId = TempDr["lsparent"].ToString();
string instid = TempDr["inst_id"].ToString();
GetParentNode(TreeView1.Nodes,strId);//自己定义的函数
string sql1 = "select inst_id,inst_name from pmis.pm_om_insts where inst_id={0}";
sql1 = string.Format(sql1,instid);
InitNode(ParentNode,sql1);//自己定义的函数
}
}
finally
{
//Conn.Close();
}
...全文
34 点赞 收藏 3
写回复
3 条回复
swollow_1980 2004年12月27日
谢谢两位!我是新手 还真不知道呢!今天又知道了一个东西了!
回复 点赞
happyfamily 2004年12月27日
执行当中不能关闭connection和dataReader
回复 点赞
swzlxm 2004年12月27日
Invalid operation. The OracleDataReader is closed
不是说得很清楚吗?,已关闭了OracleDataReader
可能是InitNode(ParentNode,sql1)中的某个地方关闭了,不,应该是又重新打开了另一个,Read是要一直保持连线的
回复 点赞
发动态
发帖子
.NET技术社区
创建于2007-09-28

4.9w+

社区成员

66.8w+

社区内容

.NET技术交流专区
社区公告
暂无公告