asp写的留言板不能更新数据,出错提示:操作必须使用一个可更新的查询;100分重谢!(100分)

  • 主题发起人 gondsoft
  • 开始时间
G

gondsoft

Unregistered / Unconfirmed
GUEST, unregistred user!
在留言板中填写资料按提交后,出现这样的错误:
Microsoft JET Database Engine 错误 '80004005'
操作必须使用一个可更新的查询。
我加入将SQL语句输出的代码,显示的是:
insert into t_guestbook(CustName,typeID,CustWeb,CustEmail,FUser,Topic) values('fas',1,'http://','sadfs','df','adf')
各位可在中http://www.gondsoft.com/guestbook.asp可以测试.
 
出现这种情况有两种可能:
1、没有权限,微软的帮助文档这样说。但我没遇到过。
2、数据库学没数据。 我遇到过。
解决方法为:
不要用insert into
而用Add.
 
我在网上弄了一个免费BBS放上去,结果还是出现同样的错误,
错误信息是:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'
[Microsoft][ODBC Microsoft Access Driver] 不能更新。数据库或对象为只读。
和上来相同,但中文错误提示有些不同.
 
呵呵,那应是权限问题,
如放在自已的服务器上的话设置执行权限就行了。
如放在人家服务器上的话就麻烦了。
 
>>miscbc
我和你是一样的看法,但服务商说不是他们的服务器的设置问题,是我的代码或数据库的
权限设置错误,我被弄糊涂了...
程序在我自己的IIS中可以正常使用的.
对了,那使用你说的ADD方法添加数据还会有效吗?
 
我要下班了,
下午写段代码给你试试。
 
试试这个:
首先确认你的数据库在放到服务上之前里面有至少一条记录。
而且数据库不为只读。
第一句写成<%@language="VBscript"%>
而不要写成<%@language="VBScript" codepage="xx"%>
然后这样写:
--------------------------------------------------------------------
On error resume next
Dim conn,connstr,sql,myrs,databasename
databasename=Server.MapPath("yourdatabasename")
Set conn="Server.CreateObject("ADODB.Connection")"
connstr="Provider=Microsoft Jet OLEDB.4.0;data source="&amp;databasename
conn.connectionstring=connstr
conn.open
if err then
Response.Write("打开数据库发生错误")
end if
Set myrs=Server.CreateObject("ADODB.Recordset")
sql="Select * from yourtablename Where id is null"
'id is a field in your database
myrs.open sql,conn,1,3
myrs.addnew
myrs("fieldname1")="yourvalue1"
myrs("fieldname2")="yourvalue2"
myrs("fieldname3")="yourvalue3"
myrs("fieldname4")="yourvalue4"
myrs("fieldname5")="yourvalue5"
......
myrs.update
myrs.close : set myrs=nothing
conn.close : set conn=nothing
--------------------------------------------------------------------
希望这些能帮到你。
如不行把你的全部代码帖出来看看
祝你好运!
 
就是数据库文件权限的问题。
当添加数据时数据库文件要有写的权限,同时这个目录好像也要有
 
to miscbc:
对不起,好几天都在忙.
现在有时间了,用你的方法再次试了,结果出现新提示:
Microsoft JET Database Engine 错误 '80040e09'
不能更新。数据库或对象为只读。
怎么这么难搞呢...[:(!] 请老兄你帮帮忙啊 .[8D]
 
这不是你的错误,而是供应商的问题。
 
非常感谢各位老兄!
特别是[miscbc]!
###############
 启示来自经历, 付出源于热忱
###############
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
733
import
I
I
回复
0
查看
817
import
I
S
回复
0
查看
822
SUNSTONE的Delphi笔记
S
顶部