代码很简单 sql用的是2005 请指教:Public Function getConnection()
'**********************
'2009-11-11
'数据库连接
'**********************
'Set conn = New adodb.Connection
' 用ODBC DSN 建立连接
conn.ConnectionString = "DSN=wyqtest;UID=sa;PWD=78963214q;"
If conn.State = 1 Then
conn.Close
End If
conn.Open
End FunctionPublic Function EidtVoucher()
Dim updatestr1 As String
Dim updatestr2 As String
Dim updatestr As String
updatestr1 = "update wyq_Vouchers set Voucher_gscode='" & vouchers.Voucher_gscode & "',Voucher_code='" & vouchers.Voucher_code & "',Voucher_date='" & vouchers.Voucher_date & "',Voucher_ram='" & vouchers.Voucher_ram & "',Voucher_abstract1='" & vouchers.Voucher_abstract1 & "',Voucher_abstract2='" & vouchers.Voucher_abstract2 & "',Voucher_abstract3='" & vouchers.Voucher_abstract3 & "',Voucher_abstract4='" & vouchers.Voucher_abstract4 & "',Voucher_abstract5='" & vouchers.Voucher_abstract5 & "',Voucher_subject1='" & vouchers.Voucher_subject1 & "',Voucher_subject2='" & vouchers.Voucher_subject2 & "',Voucher_subject3='" & vouchers.Voucher_subject3 & "',Voucher_subject4='" & vouchers.Voucher_subject4 & "',Voucher_subject5='" & vouchers.Voucher_subject5 & "'"
updatestr = updatestr1 & "," & updatestr2
Debug.Print "updatestr>>>>" & updatestr
Call getConnection
Call conn.Execute(updatestr)
conn.Close
End Function
除了上面的更新操作以外,查询,插入,删除均正常而且sql语句再2005中执行正常无问题,请问这是怎么回事
'**********************
'2009-11-11
'数据库连接
'**********************
'Set conn = New adodb.Connection
' 用ODBC DSN 建立连接
conn.ConnectionString = "DSN=wyqtest;UID=sa;PWD=78963214q;"
If conn.State = 1 Then
conn.Close
End If
conn.Open
End FunctionPublic Function EidtVoucher()
Dim updatestr1 As String
Dim updatestr2 As String
Dim updatestr As String
updatestr1 = "update wyq_Vouchers set Voucher_gscode='" & vouchers.Voucher_gscode & "',Voucher_code='" & vouchers.Voucher_code & "',Voucher_date='" & vouchers.Voucher_date & "',Voucher_ram='" & vouchers.Voucher_ram & "',Voucher_abstract1='" & vouchers.Voucher_abstract1 & "',Voucher_abstract2='" & vouchers.Voucher_abstract2 & "',Voucher_abstract3='" & vouchers.Voucher_abstract3 & "',Voucher_abstract4='" & vouchers.Voucher_abstract4 & "',Voucher_abstract5='" & vouchers.Voucher_abstract5 & "',Voucher_subject1='" & vouchers.Voucher_subject1 & "',Voucher_subject2='" & vouchers.Voucher_subject2 & "',Voucher_subject3='" & vouchers.Voucher_subject3 & "',Voucher_subject4='" & vouchers.Voucher_subject4 & "',Voucher_subject5='" & vouchers.Voucher_subject5 & "'"
updatestr = updatestr1 & "," & updatestr2
Debug.Print "updatestr>>>>" & updatestr
Call getConnection
Call conn.Execute(updatestr)
conn.Close
End Function
除了上面的更新操作以外,查询,插入,删除均正常而且sql语句再2005中执行正常无问题,请问这是怎么回事
'**********************
'2009-11-11
'数据库连接
'**********************
'Set conn = New adodb.Connection
' 用ODBC DSN 建立连接
conn.ConnectionString = "DSN=wyqtest;UID=sa;PWD=78963214q;"
If conn.State = 1 Then
conn.Close
End If
conn.Open
End FunctionPublic Function EidtVoucher()
Dim updatestr1 As String
Dim updatestr2 As String
Dim updatestr As String
updatestr1 = ""
updatestr1 = updatestr1 & "update wyq_Vouchers " & vbCrLf
updatestr1 = updatestr1 & " set Voucher_gscode = '" & vouchers.Voucher_gscode & "' " & vbCrLf
updatestr1 = updatestr1 & " ,Voucher_code = '" & vouchers.Voucher_code & "' " & vbCrLf
updatestr1 = updatestr1 & " ,Voucher_date = '" & vouchers.Voucher_date & "' " & vbCrLf
updatestr1 = updatestr1 & " ,Voucher_ram = '" & vouchers.Voucher_ram & "' " & vbCrLf
updatestr1 = updatestr1 & " ,Voucher_abstract1 = '" & vouchers.Voucher_abstract1 & "' " & vbCrLf
updatestr1 = updatestr1 & " ,Voucher_abstract2 = '" & vouchers.Voucher_abstract2 & "' " & vbCrLf
updatestr1 = updatestr1 & " ,Voucher_abstract3 = '" & vouchers.Voucher_abstract3 & "' " & vbCrLf
updatestr1 = updatestr1 & " ,Voucher_abstract4 = '" & vouchers.Voucher_abstract4 & "' " & vbCrLf
updatestr1 = updatestr1 & " ,Voucher_abstract5 = '" & vouchers.Voucher_abstract5 & "' " & vbCrLf
updatestr1 = updatestr1 & " ,Voucher_subject1 = '" & vouchers.Voucher_subject1 & "' " & vbCrLf
updatestr1 = updatestr1 & " ,Voucher_subject2 = '" & vouchers.Voucher_subject2 & "' " & vbCrLf
updatestr1 = updatestr1 & " ,Voucher_subject3 = '" & vouchers.Voucher_subject3 & "' " & vbCrLf
updatestr1 = updatestr1 & " ,Voucher_subject4 = '" & vouchers.Voucher_subject4 & "' " & vbCrLf
updatestr1 = updatestr1 & " ,Voucher_subject5 = '" & vouchers.Voucher_subject5 & "' "
updatestr = updatestr1 & "," & updatestr2
Debug.Print "updatestr>>>>" & updatestr
Call getConnection
Call conn.Execute(updatestr)
conn.Close
End Function
导致
updatestr = updatestr1 & "," & updatestr2 出错
这个一定要注意,删除、修改如果忘了where,将是很可怕的杀手
debug.print 打出来sql语句运行无误,可以正常执行。
但是就是在vb程序中执行的时候会报超时错误
然后根据这个时间来设置 Timeout。如果时间实在太长,用查询分析器的执行计划分析一下,优化一下 SQL。