现有Table1 结构如下:
id title author content
id 为主键 自动编号
作如下操作:
sql="select * from news"
rs.open sql,conn,1,3
rs.addnew
rs("title")=title
rs("Author")=Author
rs("content")=content
rs.update
后
Response.Redirect "upload.asp?newsid="&rs("id")
在sql下总是出错
而在access下可以运行
---------------------------------------------------------------
试试
Response.Redirect "upload.asp?newsid="&Cstr(rs("id"))
---------------------------------------------------------------
使用Response.Redirect前有没有关闭rs
rs.close()
rs=nothing
---------------------------------------------------------------
sql="select * from news"
rs.open sql,conn,1,3 '?? rs.open sql,conn,3,2
rs.addnew
rs("title")=title
rs("Author")=Author
rs("content")=content
rs.update
rs.close
'-------
dim newID
sql="select ID from news where title='"+title+"'"
rs.open sql,conn,1,3
newID=rs(0).value
rs.close
Response.Redirect "upload.asp?newsid="&newID
---------------------------------------------------------------
请看这里**
如果你用的sql数据库,就好办,id设成自增的,并且是主键
然后
rs.rs.open sql,conn,1,3
记住有标类型一定是1,这样就可以得到新加进去的id值
---------------------------------------------------------------
你可以改用command来做两次查询:一次添加信息,一次返回已经插入的id
例如:
var cmd = new ActiveXObject("ADODB.Command");
cmd.ActiveConnection = cnn;
strSQL = "insert into composer (name) values ('" + composer + "');";
cmd.CommandText = strSQL;
cmd.Execute();
strSQL = "select max(id) as composerID from composer;";
cmd.CommandText = strSQL;
rs = cmd.Execute();
composerID = parseInt(rs("composerID"));