asp+mysql 修改时报错:无法为更新定位行

来源:百度知道 编辑:UC知道 时间:2024/05/26 10:00:54
添加没有问题,在修改页面中,如果对其中某项做了修改,保存也没有问题。但是在修改页面中,什么都不修改,直接保存,那么就报“无法为更新定位行”的错误。
对数据的修改使用的是rs.Open后,修改rs记录值,然后rs.Update;
rs.CursorLocation=3

保存程序如下:

var sname=Request.Form("sname");
var sstate=Request.Form("sstate");
var sid=Request.Form("sid");
try{
var rs=Server.CreateObject("ADODB.Recordset");rs.CursorLocation=3;
var msql="select * from School where id="+sid;

rs.Open(msql,conn,0,3);
if(rs.eof){rs.AddNew();}
rs("SchoolName").Value=sname;
rs("State").Value=sstate;
rs.Update();//Response.Write(msql);
rs.Close();
Response.Write("alert('修改成功!');");
}catch(e){
var me=typeof(e)=='string'?e:e.description;
Response.Write("alert('"+me+"');");
}

你的update()得贴一下,“无法定位行”一般是update语句where条件判断没有执行。
在这些都云里雾里的情况下,给个demo的解决方案:
+ 一句rs.("id").Value = sid;