凌度安安电子狗怎么用:网页代码的问题!!!

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/27 22:02:44
我想用一个rs来向数据库添加两组信息,那样做可以吗?下面的代码我用了以后只是添加一组数,是不是这样做不可以啊?是不是一定要用rs,rs1,rs2这样才可以呢?

set rs=server.CreateObject("adodb.recordset")
rs.Open "select * from musiclist",conn,2,3
if trim(request.form("songname0"))<>"" and trim(request.form("singer0"))<>"" and trim(request.form("special0"))<>"" then
rs.addnew
rs("songname")=trim(request.form("songname0"))
rs("singer")=trim(request.form("singer0"))
rs("special")=trim(request.form("special0"))
rs("adddate")=now()
rs.update
elseif trim(request.form("songname1"))<>"" and trim(request.form("singer1"))<>"" and trim(request.form("special1"))<>"" then
rs.addnew
rs("songname")=trim(request.form("songname1"))
rs("singer")=trim(request.form("singer1"))
rs("special")=trim(request.form("special1"))
rs("adddate")=now()
rs.update
rs.close
set rs=nothing
ZHRX,我调试的时候怎么提示 next 错误呢?

首先你的代码有问题,elseif没有用end if来结束。

可以用一个rs添加多项数据的。但你的代码逻辑,就使两段程序只能执行其中一段了。改成这样就可以:

set rs=server.CreateObject("adodb.recordset")
rs.Open "select * from musiclist",conn,2,3
if trim(request.form("songname0"))<>"" and trim(request.form("singer0"))<>"" and trim(request.form("special0"))<>"" then
rs.addnew
rs("songname")=trim(request.form("songname0"))
rs("singer")=trim(request.form("singer0"))
rs("special")=trim(request.form("special0"))
rs("adddate")=now()
rs.update
end if

if trim(request.form("songname1"))<>"" and trim(request.form("singer1"))<>"" and trim(request.form("special1"))<>"" then
rs.addnew
rs("songname")=trim(request.form("songname1"))
rs("singer")=trim(request.form("singer1"))
rs("special")=trim(request.form("special1"))
rs("adddate")=now()
rs.update
rs.close
end if

set rs=nothing

ZHRX你的代码写错了,ASP不支持next x形式,只支持next!改成这样就可以了:

dim a(0 to x),b(0 to x),c(0 to x)
for r=0 to x
a(r)=trim(request.form("songname"& r))
a(r)=trim(request.form("singer"& r))
a(r)=trim(request.form("special"& r))
next
for s=0 to x
rs.addnew
rs("songname")=a(s)
rs("singer")=b(s)
rs("special")=c(s)
rs("adddate")=now()
rs.update
next

dim a(0 to x),b(0 to x),c(0 to x)
for r=0 to x
a(r)=trim(request.form("songname"& r))
a(r)=trim(request.form("singer"& r))
a(r)=trim(request.form("special"& r))
next r
for s=0 to x
rs.addnew
rs("songname")=a(s)
rs("singer")=b(s)
rs("special")=c(s)
rs("adddate")=now()
rs.update
next s
其中x是你应该存储到数据库的次数。

一个rs可以添加任意多条记录,取决于你的sql语句。
用你的方法添加2条记录可以这样写:
rs.addnew
rs("songname")=trim(request.form("songname0"))
rs("singer")=trim(request.form("singer0"))
rs("special")=trim(request.form("special0"))
rs("adddate")=now()

rs.addnew
rs("song2")=trim(request.form("songname0"))
rs("singer2")=trim(request.form("singer0"))
rs("special2")=trim(request.form("special0"))
rs("adddate2")=now()
...
rs.update
实际上可能没人会这样写,使用数组添加所有接收到的数据更方便点.

应该对了,通常都用rs可以的