VB连接数据库问题 实时错误94 无效使用NULL

各位大虾帮帮忙~以下是代码~PrivateSubForm_Load()DimcnAsADODB.ConnectionDimrsAsADODB.RecordsetDimso... 各位大虾帮帮忙~以下是代码~
Private Sub Form_Load()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset

Dim source As String
Dim x As Integer
' On Error Resume Next
' Command1.Caption = "退出"
Command2.Caption = "查找"
Text1.Text = ""
Grid1.Row = 0
Grid1.Col = 0
Set cn = New ADODB.Connection
cn.Open "provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "\g.mdb"
source = "select * from demo "
cn.Execute source
Set rs = cn.Execute(source)
Grid1.Cols = 4
Grid1.Col = 1
Grid1.ColWidth(1) = 2000
Grid1.Text = "姓名"
Grid1.ColWidth(2) = 2000
Grid1.Col = 2
Grid1.Text = "性别"
Grid1.Col = 3
Grid1.ColWidth(3) = 2000
Grid1.Text = "年龄"

Grid1.Rows = rs.Fields.Count - 1

Do While Not rs.EOF
x = x + 1
Grid1.AddItem ""
Grid1.TextMatrix(x, 1) = rs.Fields(0).Value
Grid1.TextMatrix(x, 2) = rs.Fields(1).Value
Grid1.TextMatrix(x, 3) = rs.Fields(2).Value
rs.MoveNext
If rs.EOF Then
rs.MoveFirst
End If
Loop

'cn.Close
'rs.Close

End Sub
展开
 我来答
挺拔且威武丶菠萝蜜1983
2007-09-25 · TA获得超过527个赞
知道小有建树答主
回答量:474
采纳率:0%
帮助的人:679万
展开全部
Do While Not rs.EOF
x = x + 1
Grid1.AddItem ""
Grid1.TextMatrix(x, 1) = rs.Fields(0).Value
Grid1.TextMatrix(x, 2) = rs.Fields(1).Value
Grid1.TextMatrix(x, 3) = rs.Fields(2).Value
rs.MoveNext
If rs.EOF Then
rs.MoveFirst
End If
Loop

这里的
If rs.EOF Then
rs.MoveFirst
End If
会导致循环变为死循环,不知道为什么要这么用.
应该去掉这三行.
浅凌想X
2007-09-25 · TA获得超过1496个赞
知道大有可为答主
回答量:1814
采纳率:0%
帮助的人:1527万
展开全部
表里的某条记录的某个字段的值是null,在转成字符串的时候会出现这个问题。建议先判断一下。比如:
Grid1.TextMatrix(x,1)=iif(isnull(rsfields(0).value),"",rsfields(0).value)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式