新微赢技术网

标题: [求助]从查询的结果中进行选择再添加到新表中该如何实现? [打印本页]

作者: 睡在风里    时间: 2010-1-8 04:35
标题: [求助]从查询的结果中进行选择再添加到新表中该如何实现?
表1
id 名称 规格
1 111 111
2 222 222
3 333 333
----------------------------------
表2
id 名称 规格

----------------------------------
通过 SELECT * FROM 表1 将表1所有记录都查询出来!
然后只选择需要的一些记录并添加到表2该如何实现啊?
循环语句该如何编写?麻烦大侠教下,谢谢!
注意:上面两个表里的数据只是假设,数据可能有很多,而且选择的数据也可能多个!
作者: ※为你歌唱※    时间: 2010-1-8 04:35
我的意思是查询出的结果要显示在页面上[上面说的3个记录只是假设,可能有上百上千的记录].
然后在前面增加一些复选框能让操作员进行选择,选择的结果是多种的可能选了几个,也可能选了几十个!
然后再把选择的数据添加到另外一张表!
作者: 踏浪    时间: 2010-1-8 04:35
<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,",")然后循环保存到数据库就好了 ..
作者: 简单快乐    时间: 2010-1-8 04:35
是我自己小白了,呵呵,sorry!
作者: 人偶娃娃    时间: 2010-1-8 04:35
冷汗 .....
exit do
作者: dd.娘孓    时间: 2010-1-8 04:36
我的意思是查询出的结果要显示在页面上[上面说的3个记录只是假设,可能有上百上千的记录].
然后在前面增加一些复选框能让操作员进行选择,选择的结果是多种的可能选了几个,也可能选了几十个!
然后再把选择的数据添加到另外一张表!
作者: ‖蠻忝謃☆    时间: 2010-1-8 04:36
多谢!我马上去看看!
作者: 随心而存    时间: 2010-1-8 04:36
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
作者: 爱你爱到西元    时间: 2010-1-8 04:36
Microsoft VBScript 编译器错误 (0x800A040F)
无效的 'exit' 语句
/jinlu/111.asp, line 12, column 24
i=i+1:if i>=2 then exit for
作者: 孤独者    时间: 2010-1-8 04:36
.......
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
........
作者: hailar    时间: 2010-3-15 00:05
很好!很强大!很和谐!和谐万岁!
作者: dg_gaga    时间: 2010-3-25 10:05
哈哈,~~怕怕~~不敢不回~~




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2