注册 登录
编程论坛 ASP技术论坛

请教高手,如何一次写入多条纪录

wwwhouhou 发布于 2007-12-03 17:06, 1378 次点击
代码如下:
如在title字段,输入张三,李四 会像数据库中写入两条纪录,一条是张三一条是李四

<!--#include file="conn.asp"-->
<%
if request.QueryString("action")="save" then
set rs=server.CreateObject("adodb.recordset")
rs.open "select * from soft",conn,1,3
rs.addnew
rs("title")=trim(request("title"))
rs("title2")=trim(request("title2"))
rs.update
rs.close
set rs=nothing
response.write "<script language=javascript>alert('添加成功!');window.location.href='../print01-1.asp';</script>"
response.End
end if
%>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#999999">
  <form name="form1" method="post" action="add01.asp?action=save"  >
    <tr bgcolor="#F1F1F1">
      <td width="25%" height="30" bgcolor="#CCCCCC" ><div align="center">姓名:</div></td>
      <td width="54%" bgcolor="#CCCCCC" ><div align="center">
          <input name="title" type="text" id="title" size="30">
        </div></td>
      <td width="54%" bgcolor="#CCCCCC" ><div align="center"> 部门:</div></td>
      <td width="54%" bgcolor="#CCCCCC" ><div align="center">
          <input name="title2" type="text" id="title2" size="30">
        </div></td>
      <td width="21%" bgcolor="#CCCCCC" ><div align="center">
          <input type="submit" name="Submit" value=" 添  加 " >
        </div></td>
    </tr>
  </form>
</table>
9 回复
#2
oyaya2007-12-03 17:10
这个很简单啊~~来我家吧~
#3
yms1232007-12-03 17:29
办法就是使用循环
if request.QueryString("action")="save" then
set rs=server.CreateObject("adodb.recordset")
rs.open "select * from soft",conn,1,3
Dim i
For i=0 To 100
       rs.addnew
       rs("title")=trim(request("title"))
       rs("title2")=trim(request("title2"))
       rs.update
Next
rs.close
set rs=nothing
response.write "<script language=javascript>alert('添加成功!');window.location.href='../print01-1.asp';</script>"
response.End
end if
#4
wwwhouhou2007-12-04 14:33
  这样一来,不管在title字段中输入什么都会写入100条这样的数据了,
该们办

我是想在title字中输入张三,李四时会添加两条记录一条是张三,一条是李四。如果输入的是张三,李四,王五的话则会添加四条记录每人一条
#5
madpbpl2007-12-04 19:27
版主只是给你举了一个例子。不一定是非要到100
title=trim(Request("title"))
if instr(title,",")>0 then
title=split(title,",")
for i=0 to ubound(title)
rs.addnew
       rs("title")=title(i)
       rs("title2")=trim(request("title2"))
       rs.update
next
end if
试试这样行不行?
#6
孤独冷雨2007-12-09 16:05
真是人才啊!又长见识了!
#7
xiaoyangyjs2007-12-09 21:22
高手啊,这样也行啊,他是说在一行中同时输入几个名字,而在数据库中同时添加记录,晕,
#8
yms1232007-12-09 21:51
楼主是指姓名那里输"入张三、李四"
部门里输入"部门1、部门2"
这样的输入方法?
#9
wwwhouhou2007-12-14 09:09
不是啊,姓名那里输入张三、李四
部门里只需要输入部门1就可以了

输入两个人名写入两条数据
张三    部门1
李四    部门2

输入三个人名的时候显示三条数据
#10
紫色天空2007-12-14 18:25
这样试试 我这里写的输入两个名字以上就以空格区分的 比如 “张三 李四”
title=trim(request("title"))
title2=trim(request("title2"))

if request.QueryString("action")="save" then
    set rs=server.CreateObject("adodb.recordset")
         rs.open "select * from soft",conn,1,3
    if title <> "" then
         title_temp=split(title)
    end if
    if ubound(title_temp) > "0" then
        for each title_1 in title_temp
           rs.addnew
           rs("title")=title_1
           rs("title2")=title2
           rs.update
        next
    else
       rs.addnew
       rs("title")=title
       rs("title2")=title2
       rs.update
    end if
    rs.close
    set rs=nothing
    response.write "<script language=javascript>alert('添加成功!');window.location.href='../print01-1.asp';</script>"
    response.End
end if

[[italic] 本帖最后由 紫色天空 于 2007-12-14 18:46 编辑 [/italic]]
1