ASP数据库复制追加记录代码

来源:百度知道 编辑:UC知道 时间:2024/05/27 15:43:12
<%
Set rs=conn.Execute("SELECT * FROM b")
data=rs.GetRows()
rs.Close()
Set rs=Nothing

'在这里打开a表
set rs=server.createobject("adodb.recordset")
sql="SELECT * FROM a"
rs.Open sql,conn,1,3
recN=UBound(data,2)
For i=0 To recN
rs.addnew()
rs(1)=data(1,0)
rs(2)=data(2,0)
rs(3)=data(3,0)
rs(4)=data(4,0)
rs(5)=data(5,0)
rs(6)=data(6,0)
rs(7)=data(7,0)
rs(8)=data(8,0)
rs.update
Next

rs.close()
set rs=nothing
conn.Close()
Set conn=Nothing
%>

如上代码
把b表中的45条记录复制追加到a表后面,以上代码只能复制b表中的第一条记录,重复45次追加到a表中。

请问,以上代码如何修改?谢谢!!~

没用过 getRows方法去取数据.

从你说的结果 "b表中的45条....重复45次追加到a表中"

可以看得出 getRows()方法返回 b表的所有行...那么你在循环里又写到
rs(1)=data(1,0)
rs(2)=data(2,0)
rs(3)=data(3,0)
rs(4)=data(4,0)
rs(5)=data(5,0)
rs(6)=data(6,0)
rs(7)=data(7,0)
rs(8)=data(8,0)
结合你的结论,,应该改为
rs(1)=data(1,i)
rs(2)=data(2,i)
rs(3)=data(3,i)
rs(4)=data(4,i)
rs(5)=data(5,i)
rs(6)=data(6,i)
rs(7)=data(7,i)
rs(8)=data(8,i)

后面一个参数应该接受的是 行数....试试....本人从没这样做过...都是两个recordset来进行操作

你这句“data=rs.GetRows()"的意思只读取了第一条记录,这里要循环读取b表的数据,然后向a表追加。
Set rs=conn.Execute("SELECT * FROM b")
while(not rs.eof)
{
data=rs.GetRows()
next
}
rs.close

HI我吧