这是我的更新语句,在access中执行都正确, update bjbq_qx set password = '区县' where id = 6  但是在程序中调用执行时,总是发生错误,我实在不知道错在那了,大家帮我看看,调用核心程序如下:Dim mycon As ADODB.Connection
Dim rst As ADODB.Recordset
Set mycon = New ADODB.Connection
mycon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=hardto;Data Source =" & App.Path & "\bjbqclient.mdb"
mycon.Open
Dim stokens() As String
'On Error GoTo exectuesql_error
stokens = Split(sql)
If InStr("INSERT,DELETE,UPDATE", UCase(stokens(0))) Then
      mycon.Execute sql    语句更新时,在这块就报错,错误内容是 update语句的语法错误
Else
  Set rst = New ADODB.Recordset
  rst.Open Trim(sql), mycon, adOpenKeyset, adLockOptimistic
 Set ExecuteSQL = rst
End If
我实在是看不出那出错了,大家帮我看看

解决方案 »

  1.   

    那你为什么不用update来更新呢!
      

  2.   

    我喜欢用sql来更新,而且这样写没有什么错,为什么老是报错。
      

  3.   

    sql=...
    这个串是怎么写的?
      

  4.   

    真是见怪了,我的sql语句是  update bjbq_qx set password = '区县' where id = 6我实在没办法,试这把表中的字段名password改成了pass ,结果执行正确了,真不知道是什么原因,难道password是关键字不成!  
      

  5.   

    password、pwd(这两个做一样,提供数据密码)是ado保留字,正常情况下不要用它做字段名,会引起不必要麻烦。
    五楼回的完全正确,要使用保留字做SQL语句处理时,要在保留字上加方括号。sql = "update bjbq_qx set [password] = '区县' where id = 6"
      

  6.   

    password是系统关键字,不建议作为表名与字段名使用,一定要用则需要用方括号括起来