Private Sub Form_Load()
On Error Resume Next
Dim conn As New adodb.Connection
Dim rs As New adodb.Recordset
Dim sql As String
connstr = "Provider=Microsoft.Jet.OLEDB.3.51; Data Source=" & App.Path & "\text_old.mdb;"
conn.Open connstr
If Err.Number <> 0 Then
MsgBox ("数据库未能成功连接!" & Err.Description)
End If
sql = "select username,password from admin"
rs.Open sql, conn, adOpenDynamic, adLockBatchOptimistic
Set datalist.DataSource = rs //提示错误 the rowset is not bookable
rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing
If Err.Number <> 0 Then
MsgBox ("数据显示错误!" & Err.Description)
End If
End Sub数据库能正常打开,记录也取出来了 就是不能显示在DATELIST(DATAGRID)中
On Error Resume Next
Dim conn As New adodb.Connection
Dim rs As New adodb.Recordset
Dim sql As String
connstr = "Provider=Microsoft.Jet.OLEDB.3.51; Data Source=" & App.Path & "\text_old.mdb;"
conn.Open connstr
If Err.Number <> 0 Then
MsgBox ("数据库未能成功连接!" & Err.Description)
End If
sql = "select username,password from admin"
rs.CursorLocation=adUseClient'使用客户端游标
rs.Open sql, conn, adOpenDynamic, adLockBatchOptimistic
Set datalist.DataSource = rs
datalist.refresh
rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing
If Err.Number <> 0 Then
MsgBox ("数据显示错误!" & Err.Description)
End If
End Sub
改为上面大哥的代码 没错误提示 但什么都不显示啊
On Error Resume Next
Dim conn As New adodb.Connection
Dim rs As New adodb.Recordset
Dim sql As String
conn .ConnectionString = "driver={Microsoft Access Driver (*.mdb)};" & _
"dbq=" & App.Path & "\text_old.mdb"
conn.Open
If Err.Number <> 0 Then
MsgBox ("数据库未能成功连接!" & Err.Description)
End If
sql = "select username,password from admin"
rs.CursorLocation=adUseClient'使用客户端游标
rs.Open sql, conn, adOpenDynamic, adLockBatchOptimistic
Set datalist.DataSource = rs
datalist.refresh
rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing
If Err.Number <> 0 Then
MsgBox ("数据显示错误!" & Err.Description)
End If
End Sub
Recordset被你关闭了
Set datalist.DataSource = rs.Clone '用rs的副本
rs.close
datagrid控件和datalist,msflexgrid不同,不会保留副本。