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绑定,则没有问题。
...全文
37 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
楼上的写法不正确,参数都没有传进去啊?
回复
相关推荐
发帖
VB基础类
创建于2007-09-28

7519

社区成员

VB 基础类
申请成为版主
帖子事件
创建了帖子
2004-03-08 03:34
社区公告
暂无公告