批量记录插入

时间:2011-03-20 13:42:58

标签: asp-classic bulkinsert

我需要从一个表(多行)中获取数据,并在修改并添加一些新字段后插入到其他表中。

例如:

表1
的itemid,
价格,
QNT,
date_of_dispatch

表2
Invoiceid,
Invoicedate,
CUSTOMER_ID,
的itemid,
价格,
QNT,
total_amt,
date_of_dispatch,
grandtotal

请帮我在ms中使用ms访问

1 个答案:

答案 0 :(得分:0)

将循环中的记录逐个插入第一个表中的记录:

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视为某种“关键”,您也可以使用任何其他唯一值。