CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  数据库(包含打印,安装,报表)

帮我看看以下代码

楼主zhlm119(thinker)2003-12-04 13:58:37 在 VB / 数据库(包含打印,安装,报表) 提问

'按记录集填充GRID  
  Public   Sub   FillGridByRecord(Grid   As   MSHFlexGrid,   rst   As   ADODB.Recordset)  
          Dim   i,   j   As   Integer  
   
  '问题在这里,rst传近来不是打开的,怎么样打开?  
   
  '         If   rst.State   =   adStateClosed   Then   rst.Open   ??????  
   
          If   rst.RecordCount   <   1   Then   Exit   Sub  
          Grid.Rows   =   rst.RecordCount   +   1  
          Grid.Cols   =   rst.Fields.Count  
          For   i   =   0   To   Grid.Rows   -   1  
                  For   j   =   0   To   Grid.Cols  
                          Grid.TextMatrix(i,   j)   =   rst.Fields(j)  
                  Next   j  
                  rst.MoveNext  
          Next   i  
          rst.Close  
  End   Sub  
  问题点数:0、回复次数:5Top

1 楼zhsu(不懂生活的人)回复于 2003-12-04 14:12:17 得分 0

是否实例化了?Top

2 楼Rick110AAA(海牛猪猪 And HerosⅢ之比蒙)回复于 2003-12-04 14:13:17 得分 0

那就先打开了再调用函数啊!  
  Dim   rst   As   Adodb.Recordset  
  Dim   objCon   As   New   Adodb.Connection  
   
  objCon.Open   ···  
  rst.Open   "Select   ···",objCon,···  
  Call   FillGridByRecord(···,rst)Top

3 楼yoki(小马哥--鬓微霜,又何妨)回复于 2003-12-04 14:17:10 得分 0

调用前需要打开Top

4 楼chao778899(220330)回复于 2003-12-04 14:33:25 得分 0

upTop

5 楼zhlm119(thinker)回复于 2003-12-04 15:07:50 得分 0

各位,请再看看以下代码:  
   
  Public   Function   ReturnRecord(rSql   As   String,   Cn   As   ADODB.Connection)   As   Recordset  
          On   Error   GoTo   SqlErr:  
          Dim   rst   As   New   ADODB.Recordset  
          If   Cn.State   =   adStateClosed   Then   Cn.Open  
          rst.Open   rSql,   Cn,   adOpenStatic,   adLockReadOnly  
          Set   ReturnRecord   =   rst  
          rst.Close  
          Cn.Close  
          Set   rst   =   Nothing  
          Exit   Function  
  SqlErr:  
          MsgBox   "执行以下语句出错:"   &   vbCrLf   &   rSql,   vbExclamation,   "警告"  
          If   rst.State   =   adStateOpen   Then   rst.Close  
          Set   rst   =   Nothing  
          If   Cn.State   =   adStateOpen   Then   Cn.Close  
          Set   ReturnRecord   =   Nothing  
  End   Function  
   
  Public   Sub   FillGridByRecord(Grid   As   MSHFlexGrid,   rst   As   ADODB.Recordset)  
          Dim   i,   j   As   Integer  
   
  '问题在这里,rst传近来不是打开的,怎么样打开?  
   
  '       If   rst.State   =   adStateClosed   Then   rst.Open   ?????  
          If   rst.RecordCount   <   1   Then   Exit   Sub  
          Grid.Rows   =   rst.RecordCount   +   1  
          Grid.Cols   =   rst.Fields.Count  
          For   i   =   0   To   Grid.Rows   -   1  
                  For   j   =   0   To   Grid.Cols  
                          Grid.TextMatrix(i,   j)   =   rst.Fields(j)  
                  Next   j  
                  rst.MoveNext  
          Next   i  
          rst.Close  
  End   Sub  
   
   
  我是这样调用的:  
   
  dim   rstMid   as     ADODB.Recordset  
  Set   rstMid   =   ReturnRecord(strSql,   CnDB)  
  FillGridByRecord   Me.Grid,   rstMid  
   
  怎么的话怎么打开连接?Top

相关问题

  • 帮我看以下代码
  • 帮我改代码!
  • 大家帮我看一下以下代码错在哪里?
  • 请高手帮我看一下以下代码
  • 帮我看看以下的代码什么意思?
  • 还是想大家帮我简化以下代码,谢谢。
  • 先驱们,帮我完成以下代码
  • 急!大家帮我看看以下代码(XML留言本)
  • 以下的代码哪里有问题,帮我看看好吗?
  • 请帮忙看以下代码。

关键词

  • rst
  • 打开

得分解答快速导航

  • 帖主:zhlm119

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

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