帮我看一下,我要将数据插入A,B两个表中,下面代码有何问题
Set cn = New ADODB.Connection
cn.Open ConnectString
Dim rs01 As New ADODB.Recordset
Dim rs02 As New ADODB.Recordset
rs01.Open "select * from A"
rs02.Open "select * from B"
cn.BeginTrans
On Error GoTo inserterr
With rs01
.AddNew
.Fields(0).Value = sheet_no
.Fields(1).Value = gpos
.Fields(2).Value = work_no
.Update
End With
For i = 0 To Form1.MSglist.Rows - 1
With rs02
.AddNew
.Fields(0).Value = sheet_no
.Fields(1).Value = serial_no
.Fields(2).Value = Form1.MSglist.TextMatrix(i, 4)
.Update
End With
Next
cn.commitrans
Exit Sub
inserterr:
cn.RollbackTrans
MsgBox "error", vbInformation, "AAA"
Set cn = New ADODB.Connection
cn.Open ConnectString
Dim rs01 As New ADODB.Recordset
Dim rs02 As New ADODB.Recordset
rs01.Open "select * from A"
rs02.Open "select * from B"
cn.BeginTrans
On Error GoTo inserterr
With rs01
.AddNew
.Fields(0).Value = sheet_no
.Fields(1).Value = gpos
.Fields(2).Value = work_no
.Update
End With
For i = 0 To Form1.MSglist.Rows - 1
With rs02
.AddNew
.Fields(0).Value = sheet_no
.Fields(1).Value = serial_no
.Fields(2).Value = Form1.MSglist.TextMatrix(i, 4)
.Update
End With
Next
cn.commitrans
Exit Sub
inserterr:
cn.RollbackTrans
MsgBox "error", vbInformation, "AAA"
如:rs01.Open "select * from A", cn, adOpenDynamic, adLockOptimistic
也可以不打开数据集,直接用Command对象来完成.
Dim conn As New ADODB.Connection
conn.ConnectionString = "自己添"
conn.Open
conn.Execute "insert into A(字段1,字段2,字段3) value(" + sheet_no + "," + gpos + "," + work_no + ")"
cn.Open ConnectString
cn.execute "insert into A (field1,field2) values('a',12)"的方法来完成。