请问我这代码错在什么地方?
一运行就死了Private Sub Form_Load()
On Error GoTo connceterror
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
Dim rst As ADODB.Recordset
cn.ConnectionString = "driver={SQL Server};server=local;UID=sa;Database = Test"
cn.Open
cn.BeginTrans
Set rst = cn.Execute("select * from po_header")
rst.MoveFirst
Do While Not rst.EOF
If rst.Fields("po_no") = "CA00002" Then
Text1.Text = rst.Fields("PRINT_DATE")
End If
rst.MoveNext
Loop
cn.Close
connceterror:
cn.Close
MsgBox "Connection false"
End Sub
一运行就死了Private Sub Form_Load()
On Error GoTo connceterror
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
Dim rst As ADODB.Recordset
cn.ConnectionString = "driver={SQL Server};server=local;UID=sa;Database = Test"
cn.Open
cn.BeginTrans
Set rst = cn.Execute("select * from po_header")
rst.MoveFirst
Do While Not rst.EOF
If rst.Fields("po_no") = "CA00002" Then
Text1.Text = rst.Fields("PRINT_DATE")
End If
rst.MoveNext
Loop
cn.Close
connceterror:
cn.Close
MsgBox "Connection false"
End Sub
我再看看
只有cn.BeginTrans没有cn.CommitTrans和cn.RollbackTrans
至于死掉了是什么原因,你自己单步调式一下吧!
另外在错误处理中把错误信息打出来啊!
On Error GoTo connceterror
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
Dim rst As ADODB.Recordset
set rst = New ADODB.Recordset cn.ConnectionString = "driver={SQL Server};server=local;UID=sa;Database=Test"
cn.Open rst.open "select * from po_header",cn,adOpenDynamic, adLockOptimistic Do While Not rst.EOF
If rst.Fields("po_no") = "CA00002" Then
Text1.Text = rst.Fields("PRINT_DATE")
End If
rst.MoveNext
Loop
cn.Close
exit sub
connceterror:
cn.Close
MsgBox "Connection false"
End Sub
On Error GoTo connceterror
Dim cn As new ADODB.Connection
Dim rst As new ADODB.Recordset
dim i as integer
if cn.state=adstateopen then cn.close
cn.ConnectionString = "driver={SQL Server};server=local;UID=sa;Database = Test"
cn.Open
cn.BeginTrans
if rst.state=adstateopen then rst.close
rst.open " select * from po_header",cn,adopenkeyset,adlockreadonly
for i=1 to rst.recordcount
If rst!po_no = "CA00002" Then
Text1.Text = rst!PRINT_DATE
End If
rst.MoveNext
next i
set rst=nothing
set cn=nothing
exit sub
'错误处理
connceterror:
screen.mousepointer=vbdefault
msgbox "操作失败,错误原因为:" & err.description,vbexclamation,"提示
set rst=nothing
set cn=nothing
exit sub
End Sub
不知道为什么-___-
使用DSN试试!!
但我用odbc连接的时候是可以连接到的哟!!!
应该说我苯吧
真874 -___-