为什么我机器上的Access库只能select不能update,insert,delete呢?

利而不害 2003-10-17 03:19:00
看代码如下:

dim conn,connstr,db
dim sql

db="abcd.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
conn.Open connstr

'sql="select id,name from tableuser"
'set rs=conn.execute(sql)

sql = "insert into tableuser values('1003','clock')"
conn.Execute sql

错误类型:
Microsoft JET Database Engine (0x80004005)

我用来insert的语句换成select就对了,为什么?
...全文
87 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
i54 2003-10-18
  • 打赏
  • 举报
回复
sql = "insert into tableuser (字段1,字段2)values('1003','clock')"
conn.Execute sql
lsycsdn 2003-10-18
  • 打赏
  • 举报
回复
试试过这种方式吗:
Set rs=Server.CreateObject("Adodb.RecordSet")
sql="select * from table"
rs.open sql,conn,1,3
coolboy0000love 2003-10-18
  • 打赏
  • 举报
回复
对,没有错。
该一下权限。。。。。。。。
zzsdream 2003-10-18
  • 打赏
  • 举报
回复
这个问题是我最近经常遇到的问题,其原因就是数据库权限为只读!!!
weacone 2003-10-18
  • 打赏
  • 举报
回复
确认一下你的数据库是不是放在NTFS格式盘中,改变一下安全权限
huhan3 2003-10-18
  • 打赏
  • 举报
回复
改变数据库属性,加上权限就行了
beyond1020 2003-10-18
  • 打赏
  • 举报
回复
我也遇到过这样的问题,这个问题正是数据库权限的问题,给数据库的属性改为可写的就OVER了!
srj911 2003-10-18
  • 打赏
  • 举报
回复
可能是权限问题
say1no2 2003-10-18
  • 打赏
  • 举报
回复
应该是数据库权限的问题!!
junsunchen 2003-10-18
  • 打赏
  • 举报
回复
权限的问题
zhanghao5188 2003-10-18
  • 打赏
  • 举报
回复
权限的问题!!改變可读写!!
qdubit 2003-10-17
  • 打赏
  • 举报
回复
应该是你的insert语句写的有问题,如果你缺省给表中每一个字段赋值,那么可以不用列出这些字段,但是如果你并不是给所有的字段赋值,那么你应该列出那些需要赋值的字段名。
TobyLee 2003-10-17
  • 打赏
  • 举报
回复
其它的我没有看出错,如果是驱动版本的问题, 你试一下这样。
Set conn = Server.CreateObject("ADODB.Connection")
connstr="driver={Microsoft Access Driver(*.mdb)};dbq=& Server.MapPath(db)
conn.Open connstr

也不知道上面的语句我有没有记错,你改一下试试吧。

我感觉像是数据库abcd.mdb的属性的问题,你改成可写,而且要给Internet来宾帐号写的权限,再试一次。
kxpbbn 2003-10-17
  • 打赏
  • 举报
回复
把这句conn.Execute sql改成
Set rs =server.CreateObject ("ADODB.Recordset")
rs.Open sql,cnn
yangsm 2003-10-17
  • 打赏
  • 举报
回复
会不会是权限的问题呢?
zhang_luo 2003-10-17
  • 打赏
  • 举报
回复
指针类型好象不对吧,只读
vivisogood 2003-10-17
  • 打赏
  • 举报
回复
abcd.mdb 属性看看。是不是只读!
利而不害 2003-10-17
  • 打赏
  • 举报
回复
我表就两个字段,可以省略字段名。
照vivisogood(新人类) 你的方法改了还是不行。
sql="update tableuser set name='clock' where id='1000'"
也错
sql="delete from tableuser where id='1000'"
也错
总之,和insert,update,delete有关的语句都不行,只有select语句可以执行,这是为什么啊?是不是驱动不对啊?
vivisogood 2003-10-17
  • 打赏
  • 举报
回复
要这样啊sql = "insert into tableuser (字段1,字段2)values('1003','clock')"
conn.Execute sql
vivisogood 2003-10-17
  • 打赏
  • 举报
回复
insert 语句写错了啊

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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