Option Explicit
Private Sub Form_Load()
'建立一个ADO数据连接
Dim DataConn As New ADODB.Connection
Dim DataRec As New ADODB.Recordset
Dim strSQL As String
'若数据库连接出错,则转向ConnectionERR
On Error GoTo ConnectionERR
'建立一个连接字串
'这个连接串可能根据数据库配置的不同而不同
DataConn = "Provider=MS Remote.1;Data Source=addrcc;User ID=sa;Remote Server=localhost;Remote Provider=MSDataShape;Internet Timeout=300000;Transact Updates=True" '1 为什么它就连接不上. ' DataConn = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=addrcc;Data Source=localhost;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=USER77" '2 测试连接 '建立数据库连接
DataConn.Open
'若RecordSet建立出错,则转向RecordsetERR
On Error GoTo RecordSetERR
strSQL = "SELECT name,xtype,status,xusertype "
'au_lname,au_fname,phone,address,city "
'从表authors查询
strSQL = strSQL & "FROM systypes"
DataRec.CursorLocation = adUseClient
DataRec.Open strSQL, DataConn
If DataRec.EOF Then Exit Sub
'整行选择
ListView1.FullRowSelect = True
'显示表头ColumnHeaders
ListView1.HideColumnHeaders = False
'取消每行前的checkbox
ListView1.Checkboxes = False
'网格行
ListView1.GridLines = True
'采用Report显示模式
ListView1.View = lvwReport
On Error GoTo FillERR
Dim ListX As ListItem
Dim ListSubX As ListSubItem
Dim ColumnX As ColumnHeader
Dim i As Integer
'清除Listview的内容和表头
ListView1.ListItems.Clear
ListView1.ColumnHeaders.Clear
For i = 0 To DataRec.Fields.Count - 1
Set ColumnX = ListView1.ColumnHeaders.Add
ColumnX.Text = DataRec.Fields(i).Name
ColumnX.Width = ListView1.Width / DataRec.Fields.Count
Next i
'填充数据
Do Until DataRec.EOF
'添加一行
Set ListX = ListView1.ListItems.Add
ListX.Text = DataRec.Fields(0).Value
For i = 1 To DataRec.Fields.Count - 1
Set ListSubX = ListX.ListSubItems.Add
ListSubX.Text = DataRec.Fields(i).Value
Next i
DataRec.MoveNext
Loop
DataRec.Close
Set DataRec = Nothing
DataConn.Close
Set DataRec = Nothing
Exit SubConnectionERR:
'错误处理程序
MsgBox "数据库连接错误," & Err.Description, vbCritical, "出错"
Exit Sub
RecordSetERR:
MsgBox "RecordSet生成错误," & Err.Description, vbCritical, "出错"
DataConn.Close
Exit Sub
FillERR:
MsgBox "填充表格错误," & Err.Description, vbCritical, "出错"
DataRec.Close
DataConn.Close
End Sub我用第1种方法连接时, 在DataRec.Open strSQL, DataConn 就出错了. 请大家帮帮忙啊!
Private Sub Form_Load()
'建立一个ADO数据连接
Dim DataConn As New ADODB.Connection
Dim DataRec As New ADODB.Recordset
Dim strSQL As String
'若数据库连接出错,则转向ConnectionERR
On Error GoTo ConnectionERR
'建立一个连接字串
'这个连接串可能根据数据库配置的不同而不同
DataConn = "Provider=MS Remote.1;Data Source=addrcc;User ID=sa;Remote Server=localhost;Remote Provider=MSDataShape;Internet Timeout=300000;Transact Updates=True" '1 为什么它就连接不上. ' DataConn = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=addrcc;Data Source=localhost;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=USER77" '2 测试连接 '建立数据库连接
DataConn.Open
'若RecordSet建立出错,则转向RecordsetERR
On Error GoTo RecordSetERR
strSQL = "SELECT name,xtype,status,xusertype "
'au_lname,au_fname,phone,address,city "
'从表authors查询
strSQL = strSQL & "FROM systypes"
DataRec.CursorLocation = adUseClient
DataRec.Open strSQL, DataConn
If DataRec.EOF Then Exit Sub
'整行选择
ListView1.FullRowSelect = True
'显示表头ColumnHeaders
ListView1.HideColumnHeaders = False
'取消每行前的checkbox
ListView1.Checkboxes = False
'网格行
ListView1.GridLines = True
'采用Report显示模式
ListView1.View = lvwReport
On Error GoTo FillERR
Dim ListX As ListItem
Dim ListSubX As ListSubItem
Dim ColumnX As ColumnHeader
Dim i As Integer
'清除Listview的内容和表头
ListView1.ListItems.Clear
ListView1.ColumnHeaders.Clear
For i = 0 To DataRec.Fields.Count - 1
Set ColumnX = ListView1.ColumnHeaders.Add
ColumnX.Text = DataRec.Fields(i).Name
ColumnX.Width = ListView1.Width / DataRec.Fields.Count
Next i
'填充数据
Do Until DataRec.EOF
'添加一行
Set ListX = ListView1.ListItems.Add
ListX.Text = DataRec.Fields(0).Value
For i = 1 To DataRec.Fields.Count - 1
Set ListSubX = ListX.ListSubItems.Add
ListSubX.Text = DataRec.Fields(i).Value
Next i
DataRec.MoveNext
Loop
DataRec.Close
Set DataRec = Nothing
DataConn.Close
Set DataRec = Nothing
Exit SubConnectionERR:
'错误处理程序
MsgBox "数据库连接错误," & Err.Description, vbCritical, "出错"
Exit Sub
RecordSetERR:
MsgBox "RecordSet生成错误," & Err.Description, vbCritical, "出错"
DataConn.Close
Exit Sub
FillERR:
MsgBox "填充表格错误," & Err.Description, vbCritical, "出错"
DataRec.Close
DataConn.Close
End Sub我用第1种方法连接时, 在DataRec.Open strSQL, DataConn 就出错了. 请大家帮帮忙啊!
错误没有改变.