VSFlexGrid8和SQL存储过程的问题

wwhsp 2004-03-08 03:34:32
我在SQL2000中写了一个存储过程 P_ND_GZ_CL ,这个存储过程没问题,我已经测试过,在其它模块中都可以正常使用。现在我把这个存储过程返回来的记录集和VSFlexGrid8绑定,却不能正常显示出记录,记录数返回来了,但不显示值。各位大侠有没有遇到过这种问题?
我的代码如下:
Dim rsGrid As New ADODB.Recordset
Dim cmd As New ADODB.Command

With cmd
Set .ActiveConnection = Cn
.CommandType = adCmdStoredProc
.CommandText = "P_ND_GZ_CL"
.Parameters(1).Value = bEnd
.Parameters(2).Value = sDepCode
.Parameters(3).Value = sLevel
End With

rsGrid.Open cmd
rsGrid.MoveFirst '到这一步时,一切都正常,用其它方法可以看到rsGrid里面的内容
Set VSFlexGrid.DataSource = rsGrid
到这里都不出错,一切正常,就是在表格里不显示数据,所有的行都是空的。为什么?
不用存储过程,用SQL语句直接得出的记录集和VSFlexGrid绑定,则没有问题。
...全文
70 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
czwwh 2004-03-29
  • 打赏
  • 举报
回复
应该在Cn上检查,其打开参数有问题,试一下其它的打开方式
lusv 2004-03-21
  • 打赏
  • 举报
回复
不仅是VSFLEXGRID这样,TDBGRID 也是这样,只能认为他们不能很好的支持存储过程了,我用TDBGRID也是这样,记录集有内容,就是无法赋予TDBGRID
yoki 2004-03-15
  • 打赏
  • 举报
回复
在set vsflexgrid.datasource=rs之前debug.print rs.getstring看看结果是否正确?
另外如果可能的话将你的存储过程贴出来看看
hnwlf 2004-03-15
  • 打赏
  • 举报
回复
将rsGrid 定义为模块级变量,放在模块的最前面
Private rsGrid As New ADODB.Recordset
yoki 2004-03-15
  • 打赏
  • 举报
回复
try:
vsflexgrid.rows=1
Set VSFlexGrid.DataSource = rsGrid

另外如果后面带了rsGrid.close的话将其去掉!只set rsGrid=nothing试试
wwhsp 2004-03-15
  • 打赏
  • 举报
回复
楼上的写法不正确,参数都没有传进去啊?

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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