求教:如何修改数据库的纪录?急!!!!

cep50 2003-08-09 09:28:41
我要修改数据库的纪录,用 uploadid 字段定位指针,但没次修改都是第一条记录,请帮我解决这一问题. uploadid 字段类型:自动编号;
uploadid 在前一页中用下面语句取得。
<div><input type='hidden' name='uploadid' value=<%=rs("uploadid")%>></div>

存入数据库方法如下:
<%@ LANGUAGE="VBSCRIPT"%>
<%
Title=request("Title")
username=request("username")
Description=request("Description")
uploadid=request("uploadid")

dbpath=server.mappath("..\data\htgh.mdb")
set conn=server.createObject("ADODB.Connection")
conn.open "driver={Microsoft Access Driver (*.mdb)};dbq="&dbpath
set rs=server.createobject("ADODB.Recordset")
rs.open "upload",conn,2,2
sql="select * from upload where uploadid='"&uploadid &"'"

rs("Title")=Title
rs("username")=username
rs("Description")=Description
rs.update
set conn=nothing
%>

将 rs.open sql,conn,1,3 或 rs.open sql,conn,2,2 改为 rs.open "upload",conn,2,2 或 rs.open "upload",conn,1,3 就不报错,但又是改的第一条记录。
...全文
14 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
cep50 2003-08-09
  • 打赏
  • 举报
回复
解决了,谢谢各位!是第一页的问题。
lftjlj 2003-08-09
  • 打赏
  • 举报
回复

sql="select * from upload where uploadid='"&uploadid &"'"
rs.open sql,conn,1,3

修改的话用1,3比较好些

再不行你可以response.write sql 看看sql是不是对了,也有可能uploadid 没值
bluebaby00 2003-08-09
  • 打赏
  • 举报
回复
有可能是你第一页的rs("UPLOADID")就错了。。。
bluebaby00 2003-08-09
  • 打赏
  • 举报
回复
sql="select * from upload where uploadid='"&request("uploadid")&"'"
rs.open sql,conn
cep50 2003-08-09
  • 打赏
  • 举报
回复
第一页的语句:<input type='hidden' name='uploadid' value=<%=rs("uploadid")%>>
难道这不是长整数?
cep50 2003-08-09
  • 打赏
  • 举报
回复
只要将 rs.open "uploadid",conn,2,2 改为 rs.open sql,conn,2,2 就报错:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'uploadid=' 中。
/htgh/tpsc/xgwz1.asp,行15
bluebaby00 2003-08-09
  • 打赏
  • 举报
回复
第一页你的语句怎么写的?
bluebaby00 2003-08-09
  • 打赏
  • 举报
回复
应该是你第一页的值错了。。。
cep50 2003-08-09
  • 打赏
  • 举报
回复
是前一页取值不对吗?
但其它的变量又对啊,只是老是改第一条记录。
cep50 2003-08-09
  • 打赏
  • 举报
回复
在前一页取值:
<div><input type='hidden' name='uploadid' value=<%=rs("uploadid")%>></div>
后一页是:
<%@ LANGUAGE="VBSCRIPT"%>
<%
Title=request("Title")
username=request("username")
Description=request("Description")

uploadid=request("uploadid")

dbpath=server.mappath("..\data\htgh.mdb")
set conn=server.createObject("ADODB.Connection")
conn.open "driver={Microsoft Access Driver (*.mdb)};dbq="&dbpath
set rs=server.createobject("ADODB.Recordset")

sql="select * from upload where uploadid="&uploadid
rs.open sql,conn,2,2

rs("Title")=Title
rs("username")=username
rs("Description")=Description
rs.update
set conn=nothing
%>


bluebaby00 2003-08-09
  • 打赏
  • 举报
回复
什么错误?如果是操作符丢失,去掉'应该没有问题的了。
cep50 2003-08-09
  • 打赏
  • 举报
回复
我去掉了 ' 试的。关键是改成 rs.open sql conn,3,3 就报错。
zorou_fatal 2003-08-09
  • 打赏
  • 举报
回复
把你的sql语句写出来看看对不对。
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'uploadid=' 中。
这个错误的意思是你的uploadid=后面没有值
bluebaby00 2003-08-09
  • 打赏
  • 举报
回复
... ...
set rs=server.createobject("ADODB.Recordset")
'刚才在下面这句子多加了一个'(单引号),对不起!
sql="select * from upload where uploadid="&uploadid
rs.open sql conn,3,3
rs("Title")=Title
rs("username")=username
rs("Description")=Description
rs.update
rs.close
... ...

cep50 2003-08-09
  • 打赏
  • 举报
回复
bluebaby00(魔鬼浪子) :请教你怎么解决。
cep50 2003-08-09
  • 打赏
  • 举报
回复
按楼上的方法报错:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'uploadid=' 中。
/htgh/tpsc/xgwz1.asp,行16
bluebaby00 2003-08-09
  • 打赏
  • 举报
回复
to cep50(cep50)
这样。。。不可能。。。
cep50 2003-08-09
  • 打赏
  • 举报
回复
那时在尾部添加一条新记录啊。我试过的。
bluebaby00 2003-08-09
  • 打赏
  • 举报
回复
set rs=server.createobject("ADODB.Recordset")
... ...
sql="select * from upload where uploadid='"&uploadid
rs.open sql conn,3,3

rs("Title")=Title
rs("username")=username
rs("Description")=Description
rs.update
rs.close
... ...
zorou_fatal 2003-08-09
  • 打赏
  • 举报
回复
把sql response.write出来看看是什么样子的?
加载更多回复(3)

28,391

社区成员

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

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