我的一个表中有五个字段,包括一个自动增长的ID
下面代码总是提示我insert语句错误。
    Dim temprm As adodb.Command
    Set temprm = New adodb.Command
    temprm.ActiveConnection = cn
    temprm.CommandText = "Insert Into operate (opers,action,opdate,optime)  Values('" & curUser.userName & "','" & msg & "',#" & Date & "#,#" & Time & "#);"
    temprm.CommandTimeout = 20
    temprm.Prepared = True
    temprm.Execute
  如果把commandtext写成下面这样也没有问题:
    "Insert Into operate  Values(1000,'" & curUser.userName & "','" & msg & "',#" & Date & "#,#" & Time & "#);"同样的语句,我以前建立数据源进行连接没有问题,后来改成下面的方法连接就不行了:
 Set cn = New adodb.Connection
   cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\database.mdb;Jet OLEDB:Database Password=hellobcb;Persist Security Info=False"
 
 这可能是什么原因呢?

解决方案 »

  1.   

    你插入数据的时候,并没有把主键插入.."Insert Into operate  Values(,'" & curUser.userName & "','" & msg & "',#" & Date & "#,#" & Time & "#);"你看这样可以吗?
      

  2.   

    把语句用connection.execute来执行。
    把日期型数据两边的#去掉试试。
      

  3.   

    可能问题出在Date和Time这两个字段上,你看看这两个字段在表的类型是什么?如果是varchar或datetime,那就要用单引号,就像字符串那样.
      

  4.   

    acess时间类型用 #数据#
    sqlserver用 ‘数据‘