遇到一个很奇怪的问题!

hellobcb 2004-08-27 09:04:44
我的一个表中有五个字段,包括一个自动增长的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"

这可能是什么原因呢?
...全文
79 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jtkkjtkk 2004-08-28
  • 打赏
  • 举报
回复
把语句用connection.execute来执行。
把日期型数据两边的#去掉试试。
hellobcb 2004-08-28
  • 打赏
  • 举报
回复
我把原来的表删掉,按原来的格式重弄了一张就好了,奇怪吧!
hellobcb 2004-08-28
  • 打赏
  • 举报
回复
还没弄好,郁闷!
zyg0 2004-08-28
  • 打赏
  • 举报
回复
acess时间类型用 #数据#
sqlserver用 ‘数据‘
hewei2003 2004-08-28
  • 打赏
  • 举报
回复
可能问题出在Date和Time这两个字段上,你看看这两个字段在表的类型是什么?如果是varchar或datetime,那就要用单引号,就像字符串那样.
hellobcb 2004-08-27
  • 打赏
  • 举报
回复
这样也不行!
zuoxingyu 2004-08-27
  • 打赏
  • 举报
回复
你插入数据的时候,并没有把主键插入..

"Insert Into operate Values(,'" & curUser.userName & "','" & msg & "',#" & Date & "#,#" & Time & "#);"

你看这样可以吗?

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧