批量记录插入
我需要从一个表(多行)获取数据,并在修改和添加一些新字段后插入到其他表中。批量记录插入
例如:
表1
的itemid,
价格,
QNT,
date_of_dispatch
表2
Invoiceid,
Invoicedate,
CUSTOMER_ID,
的itemid,
价格,
QNT,
total_amt,
date_of_dispatch,
grandtotal
请帮我用的MS Access使它在ASP
插入记录一个由一个在第一个表的记录中循环:
Dim oConn1
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "connection string here"
Set oRS = oConn.Execute("Select * From Table1")
Do Until oRS.EOF
strItemId = oRS("item_id")
strPrice = oRS("price")
'....get more data
'....also add new fields like:
Invoicedate = Date()
customer_id = 500
'.......
If Request("confirm_" & strItemId)="1" Then
strSQL = "Insert Into Table2 (itemid, price, customer_id, ...) Values ('" & strItemId & "', '" & strPrice & ', ..."
oConn.Execute(strSQL)
Response.Write("Item " & strItemId & " inserted<br />")
Else
Response.Write("Confirm insert of item " & strItemId & " <input type=""checkbox"" name=""confirm_" & strItemId & """ value=""1"" />")
End If
oRS.MoveNext
Loop
oRS.Close
这是基本的方法,希望它足够清楚。
编辑:增加了对确认每个记录的支持 - 现在每个记录都会显示复选框,并且只有当复选框被选中时,INSERT语句才会发生。这是每个item_id
作为某种“关键”,你也可以使用任何其他独特的价值。
HI, 是的,这是最好的基本方法,但我们不能在第一次使用插入,首先我们必须显示所有的记录,并给用户选择做一些修正,如果需要的话,最后我们可以去保存数据。 我希望你能找到我。 – Dev 2011-03-21 00:51:40
@Dev我想我已经得到你,看我的编辑。 – 2011-03-21 08:27:35
你到目前为止?你熟悉'ADODB.Connection'和SQL语句,比如'SELECT'和'INSERT INTO'吗? – 2011-03-20 13:51:22
我能够使用while循环获取数据并在文本框中显示,但无法插入其他表中。 是的,我有一些SQL语句的知识。 – Dev 2011-03-20 14:08:47