百骏图作者:asp程序的问题

来源:百度文库 编辑:高考问答 时间:2024/04/28 21:13:39
我想在我的站点添加一个点击计数功能,用我数据库里面的一个字段实现,字段名为hits,在我的详细页的程序里面我写入了
<%
id=request("id")
set rs=server.CreateObject("adodb.recordset")
xx="select title,id,content from book where id="&id&""
uphit="update book set hits=hits+1 where id="&id&""
rs.open xx,conn,1,1
conn.execute uphit
%>
这段代码,希望每调用一次详细页在该记录的hits字段加上1
但是程序运行后显示
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。
/xiangxi.asp, 第 74 行

74行的信息为 “conn.execute uphit”

我用的是模板的形式,模板已经和数据库连接
<%
dbpath=server.mappath("bdata/firstdata.mdb")
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};UID=;PWD=;dbq=" & dbpath
%>

请各位高手指点,小弟在此谢过了!
这个问题是我连接数据库成功了,而且能从access中读出数据,但是就是不能更新`
不知道哪里出了问题,多谢指教

set conn=server.createobject("adodb.connection")
conn.ConnectionString="driver={microsoft access driver (*.mdb)};dbq="&server.mappath("数据库名.mdb")
conn.open
数据库直接连接的语句是这样的三句。

整个程序如下(不知道在你的服务器上能不能调试成功,可以试一下)

假定字段1的字段名为ZD1,字段2 为ZD2,数据库名为DATA.MDB,数据库中的表名为biao

<%
set conn=server.createobject("adodb.connection")
conn.ConnectionString="driver={microsoft access driver (*.mdb)};dbq="&server.mappath("data.mdb")
conn.open
name=request.form("姓名")
pass=request.form("密码")
exec="insert into biao (ZD1,ZD2) values ('"+name+"',"+pass+"')"
conn.Execute exec
response.write"记录已添加成功!"
conn.close
set conn=nothing
%>

前三句是连接数据库用的
request是用来接收前一个页面所传过来的变量
EXEC后面的是一句SQL查询语句,用来插入数据用的
CONN.execute exec用来执行查询语句指定的查询动作
后面的是显示一条提示
再后面是关闭数据库连接。

另外,此文件要保存为 insert.asp
在输入数据的那一页面里把
<FORM后面写入name="form1" method="post" action="insert.asp">
即为
<html>
<form name="form1" method="post" action="insert.asp">
姓名:
<input type=text name=姓名><br>
密码:
<input type=password name=密码><br>
<input type=submit value="提交"><input type=reset value="重置">
</form>
</html>