标题:[求助]学习asp写入记录时出现“操作必须使用一个可更新的查询”是什么意思? ...
只看楼主
dthm
Rank: 1
等 级:新手上路
帖 子:126
专家分:0
注 册:2006-11-25
 问题点数:0 回复次数:17 
[求助]学习asp写入记录时出现“操作必须使用一个可更新的查询”是什么意思?

5.htm
<html>
<form name="form1" method="post" action="5.asp">
name <input type="text" name="name"><br>
tel <input type="text" name="tel"><br>
message <input type="text" name="message" value=""><br>
<input type="submit" name="Submit" value="提交">
<input type="reset" name="Submit2" value="重置">
</form>
</html>

5.asp
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("../database/guestbook.mdb")
name=request.form("name")
tel=request.form("tel")
message=request.form("message")
exec="insert into guest(name,tel,message)values('"+name+"',"+tel+",'"+message+"')"
conn.execute exec
conn.close
set conn=nothing
response.write "记录添加成功!"

rs.close
set rs=nothing
conn.close
set conn=nothing
%>


结果遇到问题:
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。
/练习/表单练习/5.asp, 第 8 行

搜索更多相关主题的帖子: name input type asp 
2007-07-28 07:34
wu033213
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-7-27
得分:0 
没有操作数据的权限了.
2007-07-28 09:46
dthm
Rank: 1
等 级:新手上路
帖 子:126
专家分:0
注 册:2006-11-25
得分:0 

高手们,过来帮我修改修改,刚学ASP,老遇问题~

2007-07-28 18:31
愿望
Rank: 1
等 级:新手上路
威 望:1
帖 子:111
专家分:0
注 册:2007-7-28
得分:0 
可能是权限问题,看一下数据库文件有没有只读属性。

2007-07-28 19:30
愿望
Rank: 1
等 级:新手上路
威 望:1
帖 子:111
专家分:0
注 册:2007-7-28
得分:0 
以下是引用梦系情缘在2007-7-28 19:31:49的发言:
没有打开记录集吧!!

他用的是 conn.Execute
应该不是这个原因

试试用 ADODB.Recordset 代替看看有没有问题。


2007-07-28 19:33
愿望
Rank: 1
等 级:新手上路
威 望:1
帖 子:111
专家分:0
注 册:2007-7-28
得分:0 
你的程序在我这里是完全正常的(去掉最后那几句多余的代码,可能是你粘贴错误)
如果一直不行,试一下下面的代码:
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT * FROM [guest] WHERE FALSE", conn, 1, 3
rs.AddNew
rs("name") = name
rs("tel") = tel
rs("message") = message
rs.Update
rs.Close
Set rs = nothing
还不行就肯定是数据库文件的设置有问题了

[此贴子已经被作者于2007-7-28 20:16:31编辑过]


2007-07-28 20:00
dthm
Rank: 1
等 级:新手上路
帖 子:126
专家分:0
注 册:2006-11-25
得分:0 
回复:(梦系情缘)这样试试吧!

这样又出现新的问题了
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 不能更新。数据库或对象为只读。
/练习/表单练习/5.asp, 第 14 行

我是access数据库,用sql能行吗?

2007-07-29 07:24
愿望
Rank: 1
等 级:新手上路
威 望:1
帖 子:111
专家分:0
注 册:2007-7-28
得分:0 
“数据库或对象为只读。”
这句很明显了,看下 MDB 文件有没有只读属性。
或是表有没有只读属性

2007-07-29 09:37
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
检查一下数据库文件是否只读,这个问题应该跟程序无关,是数据库文件的问题。
2007-07-29 10:55
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
得分:0 
同意楼上版主的说法,你的文件放在那种格式的目录下,ntfs?or fat32?
在安全属性里设置一下权限。
2007-07-29 11:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-158685-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.161743 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved