当用connection对象CNN.Execute一个SQL语句时提示"实时错误-2147217904(80040e10)至少一个参数没有被指定值".
我是将一个表中的数据导入另一个表时出现这个错误提示的,错误是因为目标表中的字段名与源表字段名不一致引起的,但我在模块中已经加入了错误处理语句,为什么不能拦截错误呢?
我是将一个表中的数据导入另一个表时出现这个错误提示的,错误是因为目标表中的字段名与源表字段名不一致引起的,但我在模块中已经加入了错误处理语句,为什么不能拦截错误呢?
On Error GoTo ExitHandler ......
Cnn.Execute strSQL
....... Exit Sub
ExitHandler:
Msgbox Err.Description
End Sub
我下面的代码可以实现
Dim con As ADODB.Connection
Dim rs As ADODB.Recordset
Private Sub Form_Load()
Set con = New Connection
Set rs = New Recordset
If connectiontodb = True Then
Set rs = con.Execute("select * from PUBS")
Set DataGrid1.DataSource = rs
Else
MsgBox "连接失败"
End If
End Sub
Public Function connectiontodb() As Boolean
On Error GoTo err
con.ConnectionString = " Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=master;Data Source=(local)" con.ConnectionTimeout = 25
con.CursorLocation = adUseClient
con.Open
connectiontodb = True
Exit Function
err:
connectiontodb = FalseEnd Function
EXECUTE "INSERT INTO 表名 (A,B,C) VALUES ('"&TEXT1.TEXT &"',....)
有TEXT1.TXT 这样肯定错误的,可以先用变量如
SQL="INSERT INTO 表名 (A,B,C) VALUES ('"&TEXT1.TEXT &"',....)
再 EXECUTE SQL