批量增加记录

tmdfsl 2003-12-19 03:10:18
我有两个表A 和 B,在一个页面A.ASP中列出A 表所有的记录,每条记录前有个复选框,
现在我想选择其中几条记录,然后点击增加按钮,把选中的记录的其中几个字段值增加到另一个表B中,不知怎样才能做到,请大伙帮帮忙
...全文
34 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
nchen123 2004-03-21
  • 打赏
  • 举报
回复
up
nchen123 2003-12-19
  • 打赏
  • 举报
回复
checkbox 不需要指定 value
nchen123 2003-12-19
  • 打赏
  • 举报
回复
上面的例子你只要把 test.asp 的循环换成 do ... while , 输出你数据库记录的编号就可以了。

大概是这样的:

<form ...

<%
'前面的数据库连接以及 sql 语句略
'...
set rs = conn.execute(sql)

do while not rs.eof
%>
<input type="checkbox" name="chk_<%= rs("id") %>"> <%= id %>
这里你还可以输出一些其他字段的内容
<br>
<%
rs.movenext
loop
...
%>

...
</form>
nchen123 2003-12-19
  • 打赏
  • 举报
回复
不会的, 我现在给你做了个例子,调试已通过。
分为两个文件: test.asp, ptest.asp

test.asp
----------------------------

<HTML>
<HEAD>
<TITLE> 如何批量选择表单项 </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="Chen Rong">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>

<form name="form1" action="ptest.asp" method="post">

<% for i = 1 to 10 %>
<input type="checkbox" name="chk_<%= i %>"> <%= i %>
<br>
<% next %>

<input type="submit" value="提交">
</form>

</BODY>
</HTML>


ptest.asp
--------------------------

<%
for each item in request.form
' 如果找到一个 checkbox
if instr(item, "chk_") > 0 then
'检测是否被选中
if lcase(request.form(item)) = "on" then
'求出这条记录的 id
id = replace(item, "chk_", "")

'--------- debug ----------
response.write "<br>" & id
'--------- debug ----------

'构造相应的插入语句
'sql = "insert into tbl where id=" & id
'插入数据库
'conn.execute(sql)
end if
end if
next
%>
tmdfsl 2003-12-19
  • 打赏
  • 举报
回复
斑主能不能说明白点,小弟还不是太懂.
我在A.ASP中CHECKBOX的NAME是<%=RS("ID")%>,VALUE是<%=RS("ID")%>
在B.ASP页面中我用你的代码也不是行.
nchen123 2003-12-19
  • 打赏
  • 举报
回复
^_^
monkeys 2003-12-19
  • 打赏
  • 举报
回复
斑竹,大好人

抢在偶前面给说了

sxsgssgs 2003-12-19
  • 打赏
  • 举报
回复
错了,不好意思。
这个是a.asp的代码(示意)
<form name="form1" method=post action="b.asp">

<tr>
<td><input name="rydm<%=rs("id")%>" value=<%=rs("rydm")%>></td>
<td><input name="rydm<%=rs("id")%>" value=<%=rs("rydm")%>></td>
</tr>
</form>
这个是b.asp中的插入代码
rydm=trim(request("rydm"&id))
strSQL = "Insert into wh_ry(rydm) values('"&rydm&"')"
conn.execute (strsql)
whb147 2003-12-19
  • 打赏
  • 举报
回复
建议用数组存储传过来的ID
然后,就作一个循环就是了,
sxsgssgs 2003-12-19
  • 打赏
  • 举报
回复
这个是a.asp的代码(示意)
<form name="form1" method=post action="b.asp">

<tr>
<td><input name="text<%=rs("id")%>" value=<%=rs("rydm")%>></td>
<td><input name="text<%=rs("id")%>" value=<%=rs("rydm")%>></td>
</tr>
</form>
这个是b.asp中的插入代码
rydm=trim(request("rydm"&id))
strSQL = "Insert into wh_ry(rydm) values('"&rydm&"')"
conn.execute (strsql)


nchen123 2003-12-19
  • 打赏
  • 举报
回复
sql = "insert into tbl where id=" & id

上面这个语句随便写的, 语法不对, 只是说明一下问题。
nchen123 2003-12-19
  • 打赏
  • 举报
回复
第一个页面:
把 checkbox 的 name 设为 chk_01, chk_02, ... 这样的格式, 其中 01, 02, 为记录的编号, 不一定是数字, 可以用字母也无所谓。

第二个页面:
循环,

for each item in request.form
' 如果找到一个 checkbox
if instr(item, "chk_") > 0 then
'检测是否被选中
if lcase(request.form(item)) = "on" then
'求出这条记录的 id
id = replace(item, "chk_", "")
'构造相应的插入语句
sql = "insert into tbl where id=" & id
'插入数据库
conn.execute(sql)
end if
end if
next
rtsp 2003-12-19
  • 打赏
  • 举报
回复
insert into b select a,b,c from a where id in (" & request("ID") & ")"

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧