VB6 中使用vsflexgrid显示sql server2000记录集 15

我在VB6上使用vsflexgrid8.0控件,数据库是sqlserver2000,使用存储过程把想要的记录集显示在vsflexgrid8.0上,代码如下:Private... 我在VB6上使用vsflexgrid8.0控件,数据库是sql server2000,使用存储过程把想要的记录集显示在vsflexgrid8.0上,代码如下:
Private Sub Command1_Click()
Dim cn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset
cnstr = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;password=123;Initial Catalog=LIS;Data Source=PC-WINGSKY\WINGSKY"
cn.Open cnstr
With cmd
.ActiveConnection = cn
.CommandType = adCmdStoredProc
.CommandText = "result_select"
.Parameters("@bbbh") = "201202140002"
Set rs = .Execute
End With
Set Me.VSFlexGrid1.DataSource = rs
End Sub
运行是成功了,但vsflexgrid8.0显示的只有字段名和相应记录集的记录数的空白行(如有3条记录,vsflexgrid控件只显示字段名和3行空白行),
如果存储过程不需要输入参数的话,却可以正常显示,请问是什么回事?如何在不需要后继编程的情况下,把这些空白行填满
ps: .Parameters("@bbbh") = "201202140002"这句无论是有双引号,还是无双引号,都得到同样的结果
展开
 我来答
lanniao007
2012-03-08 · TA获得超过1012个赞
知道小有建树答主
回答量:1489
采纳率:40%
帮助的人:449万
展开全部
你提交数据源给vsflexgrid8.0应该是一个记录集。但是这个记录集对应的Sql命令提交的SQL找不到匹配数据。只能返回一个空表。你传递一个Sql命令。最好完整的Sql命令好。不然无法同步看到Debug的结果。条件也必须明确。例如Sql="Select * From AAAA Where CD = '" & SS & "'"
然后通过数据连接打开rs 。
Sql="Select * From AAAA Where CD = '" & SS & "'"
rs.Open Sql, cn, adOpenKeyset, adLockPessimistic, adCmdText
Set Me.VSFlexGrid1.DataSource = rs
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式