设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 175|回复: 12
打印 上一主题 下一主题

[求助]从查询的结果中进行选择再添加到新表中该如何实现?

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-8 04:35:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
表1
id 名称 规格
1 111 111
2 222 222
3 333 333
----------------------------------
表2
id 名称 规格

----------------------------------
通过 SELECT * FROM 表1 将表1所有记录都查询出来!
然后只选择需要的一些记录并添加到表2该如何实现啊?
循环语句该如何编写?麻烦大侠教下,谢谢!
注意:上面两个表里的数据只是假设,数据可能有很多,而且选择的数据也可能多个!
2#
发表于 2010-1-8 04:35:39 | 只看该作者
我的意思是查询出的结果要显示在页面上[上面说的3个记录只是假设,可能有上百上千的记录].
然后在前面增加一些复选框能让操作员进行选择,选择的结果是多种的可能选了几个,也可能选了几十个!
然后再把选择的数据添加到另外一张表!
回复 支持 反对

使用道具 举报

3#
发表于 2010-1-8 04:35:43 | 只看该作者
<SCRIPT language=javascript>
function unselectall()
{
if(document.myform.chkAll.checked){
document.myform.chkAll.checked = document.myform.chkAll.checked&0;
}
}
function CheckAll(form)
{
for (var i=0;i<form.elements.length;i++)
{
var e = form.elements[i];
if (e.Name != "chkAll"&&e.disabled==false)
e.checked = form.chkAll.checked;
}
}
</SCRIPT>
<%set rs=conn.execute ("select id,名称,规格 from 表1 order by id")
if not rs.eof then
%>
<form name="myform" method="Post" action="接收并保存选择的数据文件.asp">
<table>
<tr class="title" height="22">
<td height="22" width="30" align="center"><strong>选中</strong></td>
<td height="22" width="30" align="center"><strong>名称</strong></td>
<td height="22" width="30" align="center"><strong>规格</strong></td>

</tr>
<%
i=0
do while not rs.eof
%>
<tr class="tdbg" onmouseout="this.style.backgroundColor=''" onmouseover="this.style.backgroundColor='#BFDFFF'">
<td width="30" align="center"><input name='ID' type='checkbox' onclick="unselectall()" id="ID" value='<%=rs("ID")%>'></td>
<td width="25" align="center"><%=rs("名称")%></td>
<td width="25" align="center"><%=rs("规格")%></td>

</tr>
<%rs.movenext
loop
rs.close:set rs=nothing
%>
</table>
<br>
<table width="99%" border="0" cellpadding="0" cellspacing="0" class="tdbg" align=center>
<tr>
<td width="250" height="30"> <input name="chkAll" type="checkbox" id="chkAll" onclick=CheckAll(this.form) value="checkbox">
选中本页显示的所有 <input name="save" type="submit" value="保存"></td>
</tr>
</table>
</form>

这样就传递了所有所选ID的 数组 (id1,id2,id3,...idN)
接收的时候split (id,",")然后循环保存到数据库就好了 ..
回复 支持 反对

使用道具 举报

4#
发表于 2010-1-8 04:35:50 | 只看该作者
是我自己小白了,呵呵,sorry!
回复 支持 反对

使用道具 举报

5#
发表于 2010-1-8 04:35:57 | 只看该作者
冷汗 .....
exit do
回复 支持 反对

使用道具 举报

6#
发表于 2010-1-8 04:36:00 | 只看该作者
我的意思是查询出的结果要显示在页面上[上面说的3个记录只是假设,可能有上百上千的记录].
然后在前面增加一些复选框能让操作员进行选择,选择的结果是多种的可能选了几个,也可能选了几十个!
然后再把选择的数据添加到另外一张表!
回复 支持 反对

使用道具 举报

7#
发表于 2010-1-8 04:36:03 | 只看该作者
多谢!我马上去看看!
回复 支持 反对

使用道具 举报

8#
发表于 2010-1-8 04:36:06 | 只看该作者
set rs=conn.execute ("select id,名称,规格 from 表1 order by id")
if not rs.eof then
i=0
do while not rs.eof
if i<2 then conn.execute ("insert into 表2 (id,名称,规格) values("&rs(0)&",'"&rs(1)&"','"&rs(2)&"')")
rs.movenext
i=i+1:if i>=2 then exit for
loop
rs.close:set rs=nothing
回复 支持 反对

使用道具 举报

9#
发表于 2010-1-8 04:36:09 | 只看该作者
Microsoft VBScript 编译器错误 (0x800A040F)
无效的 'exit' 语句
/jinlu/111.asp, line 12, column 24
i=i+1:if i>=2 then exit for
回复 支持 反对

使用道具 举报

10#
发表于 2010-1-8 04:36:12 | 只看该作者
.......
set rs=server.createobject("adodb.recordset")
rs.open"select * from 表1 where id=1 or id=2",conn,1,1 '如果ID是文本类型就加单引号
while not rs.eof
conn.execute"insert into 表2(id,名称,规格) values("&rs("id")&",'"&rs("名称")&"','"&rs("规格")&"')"
rs.movenext
wend
........
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-19 06:19 , Processed in 0.104023 second(s), 9 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表