CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

SQL嵌套查询的问题

楼主cwq99(陈文)2004-09-04 16:45:25 在 .NET技术 / ASP.NET 提问

sqlstr   =   "select   *   from   MainMenu     order   by   maxm"  
                  Dim   conn   As   SqlConnection   =   New   SqlConnection(ConfigurationSettings.AppSettings("connstr"))  
                  Dim   objcmd   As   SqlCommand   =   New   SqlCommand(sqlstr,   conn)  
                  Dim   objreader   As   SqlDataReader  
                  Try  
                          objcmd.Connection.Open()  
                          objreader   =   objcmd.ExecuteReader  
                          Do   While   objreader.Read  
                                  id   =   objreader.GetInt32(0).ToString  
                                  mname   =   objreader.GetSqlString(1).ToString  
    '用id,mname  
                                  sqlstr1   =   "select   *   from   FromMenu   where   upid='"   &   id   &   "'   order   by   id"  
                                  Dim   objcmd1   As   SqlCommand   =   New   SqlCommand(sqlstr1,   conn)  
                                  Dim   objreader1   As   SqlDataReader  
                                  '   objcmd1.Connection.Open()  
                                  objreader1   =   objcmd1.ExecuteReader  
                                  Do   While   objreader1.Read  
                                          id1   =   objreader1.GetSqlString(0).ToString  
                                          mname1   =   objreader1.GetSqlString(1).ToString  
    '用id1,mname1  
                                  Loop  
                          Loop  
  代码如上,运行后提示"已有打开的与此连接相关联的   DataReader,必须首先将它关闭。"  
  请问怎么解决? 问题点数:20、回复次数:3Top

1 楼wangrenda(浪人)回复于 2004-09-04 16:48:17 得分 5

改datasetTop

2 楼triout(笨牛)回复于 2004-09-04 16:52:47 得分 15

代码:  
  objreader   =   objcmd.ExecuteReader  
   
  objcmd.Connection连接对象打开了一个DataReader,所以:  
  objreader1   =   objcmd1.ExecuteReader  
  再次打开的时候会报告错误。  
   
  打开一个DATAREADER,用完后必须关闭,否则出错误。而且,如果有DATAREADER打开,也不能关闭CONNECTION。  
   
  你的代码修改为:  
   
  sqlstr   =   "select   *   from   MainMenu     order   by   maxm"  
                  Dim   conn   As   SqlConnection   =   New   SqlConnection(ConfigurationSettings.AppSettings("connstr"))  
                  Dim   objcmd   As   SqlCommand   =   New   SqlCommand(sqlstr,   conn)  
                  Dim   objreader   As   SqlDataReader  
                  Try  
                          objcmd.Connection.Open()  
                          objreader   =   objcmd.ExecuteReader  
                          Do   While   objreader.Read  
                                  id   =   objreader.GetInt32(0).ToString  
                                  mname   =   objreader.GetSqlString(1).ToString  
    '用id,mname  
                                  sqlstr1   =   "select   *   from   FromMenu   where   upid='"   &   id   &   "'   order   by   id"  
                                  Dim   objcmd1   As   SqlCommand   =   New   SqlCommand(sqlstr1,   conn)  
                                  Dim   objreader1   As   SqlDataReader  
                                  '   objcmd1.Connection.Open()  
                                  objreader1   =   objcmd1.ExecuteReader  
                                  Do   While   objreader1.Read  
                                          id1   =   objreader1.GetSqlString(0).ToString  
                                          mname1   =   objreader1.GetSqlString(1).ToString  
    '用id1,mname1  
                                  Loop  
                                  objreader1.Close  
                          Loop  
                          objreader.Close  
  Top

3 楼bccu(风雨中人)回复于 2004-09-04 16:58:18 得分 0

datasetTop

相关问题

  • 请教一嵌套查询SQL语句
  • 嵌套查询!
  • [急...]嵌套查询能嵌套几层?另外这一句SQL怎么写该?
  • SQL嵌套方面的书,比较复杂的查询
  • 哪们对SQL嵌套查询比较熟悉,帮下忙,急
  • SQL SERVER 2000支持form嵌套查询的问题
  • 关于SQL嵌套、整合查询的问题
  • SQL嵌套查询列名无效的问题
  • sql查询语句中,关于单引号"'"的字符串嵌套问题
  • 嵌套查询的问题

关键词

  • 代码
  • objreader
  • objcmd
  • getsqlstring
  • mname
  • sqlstr
  • sqlcommand
  • executereader
  • 打开
  • sqldatareader

得分解答快速导航

  • 帖主:cwq99
  • wangrenda
  • triout

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo