VB的sql查询
我用sql语句查到数据库中的值了,可是在MSHFlexGrid中只显示字段名,没有任何值出现!!而且我这个方法在另一个工程中好用,同样的数据库,同样的方法。郁闷。。引用部...
我用sql语句查到数据库中的值了,可是在MSHFlexGrid中只显示字段名,没有任何值出现!!而且我这个方法在另一个工程中好用,同样的数据库,同样的方法。郁闷。。引用部分都一样的。请教各位高人,问题可能出在那?
Public Sub FillData(rs2 As ADODB.Recordset, Grid As MSHFlexGrid)
'导入数据过程
On Error GoTo myerr2
Dim i As Integer
Dim j As Integer
Dim x As Integer
With Grid
.Rows = 2
.Cols = rs2.Fields.Count
For i = 0 To .Cols - 1
.TextMatrix(0, i) = rs2.Fields(i).Name
'将矩阵的第一行设置为表字段名
Next i
x = rs2.RecordCount
If x > 0 Then
.Rows = x + 1
i = 1
rs2.MoveFirst
Do Until rs2.EOF
'直到rs至结果集末尾退出循环
For j = 0 To rs2.Fields.Count - 1
.TextMatrix(i, j) = rs2.Fields(j).Value & ""
'将表中的记录导入grid
Next j
rs2.MoveNext
i = i + 1
Loop
End If
.ColSel = .Cols - 1
'设置起始列
End With
Exit Sub
myerr2:
MyErr
End Sub
值是有的,只是不显示 展开
Public Sub FillData(rs2 As ADODB.Recordset, Grid As MSHFlexGrid)
'导入数据过程
On Error GoTo myerr2
Dim i As Integer
Dim j As Integer
Dim x As Integer
With Grid
.Rows = 2
.Cols = rs2.Fields.Count
For i = 0 To .Cols - 1
.TextMatrix(0, i) = rs2.Fields(i).Name
'将矩阵的第一行设置为表字段名
Next i
x = rs2.RecordCount
If x > 0 Then
.Rows = x + 1
i = 1
rs2.MoveFirst
Do Until rs2.EOF
'直到rs至结果集末尾退出循环
For j = 0 To rs2.Fields.Count - 1
.TextMatrix(i, j) = rs2.Fields(j).Value & ""
'将表中的记录导入grid
Next j
rs2.MoveNext
i = i + 1
Loop
End If
.ColSel = .Cols - 1
'设置起始列
End With
Exit Sub
myerr2:
MyErr
End Sub
值是有的,只是不显示 展开
4个回答
展开全部
看看平台版本是不是歼扒一样的.再看看.绑定方法有没有出错.如搭伍果是复氏枝昌制的代码很可能是绑定方法出错了.再就是你在程序中直接输出一下查询结果,看有没有值.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
需态雹要用Grid.addRow增加一行,才能用.TextMatrix(i, j) = rs2.Fields(j).Value & ""帆仔帆 设置你面戚哪的值
否则出错,直接退出了,所以只有第一行的字段名了
否则出错,直接退出了,所以只有第一行的字段名了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
截个图看看,看看那段显示数据的代码
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
问题可能出在代码里
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询