回 帖 发 新 帖 刷新版面

主题:一次修改多条数据的方法?

我试着做了一个简易的管理系统,但在修改数据时遇到了问题,先用一个表单收集拥护信息,然后传给一个ASP文件,这个文件的作用是"查找并修改",也就是说,我用的是SELECT 语句.
脚本语言:ASP
数据库格式:.,mdb(MS-Access)

大意是这样,我遇到的问题是:
1,不会"提交"一次,修改多条数据;
2,修改数据不成功. 我推断的原因:"SELECT" 语句中标被"SELECT" 的变量或字段与数据表中记录全部不符,就是说系统没能找到符合的关键字.我确认关键字是存在于数据表格中的,所以我最终推测是表单中控件的值没有能正确地被那段ASP程序处理.

下面是我的源码:


<!--#include file="MyFunctions.asp"-->
<%



Name1 = Trim (Request("name"))


Dim strSQL,objRS
strSQL="select * From form1 where name='"+Name1+"'"

Set objRS = GetSQLRecordset(strSQL, "employeedata.mdb","form1")


objrs("salary")=request.form("T1")
objrs("position")=request.form("T2")
objrs("sector")=request.form("T3")
objrs("absence")=request.form("T4")
objrs("leave")=request.form("T5")
objrs("bonus")=request.form("T6")
objrs("penalty")=request.form("T7")


rs.update




rs.close
set rs=nothing
conn.close
set conn=nothing

response.write "修改成功!"
response.write "<a href=1.asp>返回</a>"
%>


请各位看看问题出在什么地方,我用IE看的时候系统返回出错提示"Eof 或Bof 中有一个值为1"(如我上文所及,是未查到规定的记录)



谢谢!

回复列表 (共4个回复)

沙发

出现这个错误就是因为没有找到相应的记录。解决的方法是,事先先判断一下是否为空
if not objrs.eof then
  objrs("salary")=request.form("T1")
  objrs("position")=request.form("T2")
  objrs("sector")=request.form("T3")
  objrs("absence")=request.form("T4")
  objrs("leave")=request.form("T5")
  objrs("bonus")=request.form("T6")
  objrs("penalty")=request.form("T7")
  rs.update
end if

板凳

我试过这种方法了,没有出错信息返回,*却*也没有修改任何记录.

谢谢你的帮助,我觉得问题就是我不知道怎样正确地让FORM中的名字为name的控件把值"传"给SELECT(我知道这么说不规范,但是你一定知道我的意思)

我后来*直接*在SELECT语句中加入要查询的字段(不再通过变量了),修改是*成功*的,然后我将那个字段修改成数据表中根本*不存在*的字段,返回的出错信息和一开始时是一样的.我想这就验证了我的猜测.
怪我没表述清楚,还是要谢谢你.

3 楼

谁帮忙出个主意啊?

4 楼

rs哪来的
应该是objrs.update吧

我来回复

您尚未登录,请登录后再回复。点此登录或注册