
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 展开
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 展开
2个回答
展开全部
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 = 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
会导致循环变为死循环,不知道为什么要这么用.
应该去掉这三行.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询