事务为何不起作用
事务函数如下:
Public Function ExecuteTransaction(ByVal sqlString As String)
con_odbc.Open()
Dim tran As OdbcTransaction = con_odbc.BeginTransaction()
Dim comm As New OdbcCommand()
comm.Connection = con_odbc
comm.Transaction = tran
Try
comm.CommandText = sqlString
comm.ExecuteNonQuery()
tran.Commit()
Catch ex As Exception
tran.Rollback()
Finally
con_odbc.Close()
End Try
End Function
为了插入表UD34 UD33插入值,分别调用
lyh_odbc1.ExecuteTransaction(sql_insert)
lyh_odbc1.ExecuteTransaction(insert_DataGridView1)
完整语句如下:
sql_insert = "insert into PUB.UD34(Key1,Number01,Character05,Character06,Character07) values('" + sGUID.ToString() + "','" + int_Number01.ToString() + "'," +
_
"'" + dr.Cells(8).Value.ToString() + "','" + dr.Cells(9).Value.ToString() + "','" + dr.Cells(5).Value.ToString() + "')"
lyh_odbc1.ExecuteTransaction(sql_insert)
insert_DataGridView1 = "insert into PUB.UD33(Key1,Number01,Character05,Character06,Character07,Character08,Character09,Character10," + _
"ShortChar11,ShortChar12,ShortChar13,ShortChar14,Date01,Character01,Character02,Character03,Character04" + _
") values('" + sGUID2.ToString() + "','" + int_Number01.ToString() + "','" + OrderNum + "'," + _
"'" + PONum + "','" + LineDesc + "','" + PartNum + "'," + _
"'" + SellingQuantity + "','" + dr.Cells(10).Value.ToString() + "','" + OnHandQty + "'," + _
"'" + DocUnitPrice + "','" + CurrencyCode + "','" + NetWeight + "','" + NowTime + "'," + _
"'" + dr.Cells(1).Value + "','" + Character02 + "','" + Character03 + "','" + dr.Cells(4).Value + "')"
lyh_odbc1.ExecuteTransaction(insert_DataGridView1)
结果,能插入UD34,而UD33插不了,
为什么会这样,使用了事务应该是两个要么同时能插入,要么都不能