注册 登录
编程论坛 ASP技术论坛

一段挺简单的往数据库写记录的程序,就是搞不定,晕

xianids 发布于 2007-09-07 22:20, 753 次点击

<%
Set Conn=Server.CreateObject("ADODB.Connection")
dbpath = "data/testdb1.mdb"
connstr ="Provider = Microsoft.Jet.OLEDB.4.0; Data Source ="& Server.MapPath(dbpath)
Conn.Open connstr

s1="insert into table3 values('ab','34','fdg','yyyy')"
conn.execute (s1)
set conn=nothing
%>

运行时提示 conn.execute (s1)这一句有错。

错误类型:
Microsoft JET Database Engine (0x80004005)
操作必须使用一个可更新的查询。
/dbtest1/bs.asp, 第 11 行


帮忙指点迷津。谢谢!!

9 回复
#2
lijiong5202007-09-07 22:37
你看看你写入的时候  数据库关了吗?
#3
madpbpl2007-09-08 00:24
s1="insert into table3 values('ab','34','fdg','yyyy')"
改成
s1="insert into table3 (a,b,c,d) values('ab','34','fdg','yyyy')"
a,b,c,d是你后面value值所对应的字段名
#4
IT大鄂2007-09-08 09:53
<%
Set Conn=Server.CreateObject("ADODB.Connection")
dbpath = "data/testdb1.mdb"
connstr ="Provider = Microsoft.Jet.OLEDB.4.0; Data Source ="& Server.MapPath(dbpath)
Conn.Open connstr
set ors=Server.CreateObject("ADODB.Recordset")
s1="insert into table3 values('ab','34','fdg','yyyy')"
ors.open s1,conn,1,1
set conn=nothing
%>

首先你要对数据库进行操作,就要建立一个记录集。
#5
xianids2007-09-08 20:41

4楼的方法试了,不行,提示的错误是一样的。!!!


错误类型:
Microsoft JET Database Engine (0x80004005)
操作必须使用一个可更新的查询。


!!!!!!!!!!!!!!!!!!!!!!!!

#6
multiple19O22007-09-08 20:43
[URL=http://www.baidu.com/s?wd=%B2%D9%D7%F7%B1%D8%D0%EB%CA%B9%D3%C3%D2%BB%B8%F6%BF%C9%B8%FC%D0%C2%B5%C4%B2%E9%D1%AF&amp;cl=3]见这里[/URL]
#7
xianids2007-09-08 20:45
6楼的 ,啥意思?
#8
xianids2007-09-08 20:47
哦,我去看看,谢谢
#9
chenxiang2007-09-08 21:14

这个问题并非程序的问题,而是对数据库操作权限的问题,,首先找到你数据库所在的文件夹,右键---属性---安全--添加--高级--立即查找--iusr_机器名--选中--确定--确定--设置权限为完全控制,即可

如果没有安全选项卡,可以在文件夹选项中设置
文件夹选项--查看--去掉"使用简单文件共享"前面的勾,再按上述操作即可

#10
xianids2007-09-08 21:41

根据6楼的指导,已解决。非常感谢!也谢谢8楼。

1