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

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();
}
...全文
73 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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是要一直保持连线的

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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