Dim xname As String
Dim data As New DataSet()
Dim sql As String = " "
Dim cmd As New OleDbCommand
Dim adapter As New OleDbDataAdapter
If MessageBox.Show("คุณต้องการบันทึกรายการใช่หรือไม่", "Question", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
Trans = conn.BeginTransaction()
Try
sql = "INSERT INTO TblType(TypeID, TypeName) VALUES(@a, @b)"
cmd = New OleDbCommand(sql, conn)
cmd.Parameters.AddWithValue("a", xid)
cmd.Parameters.AddWithValue("b", xname)
cmd.ExecuteNonQuery()
MsgBox("บันทึกรายการเสร็จสิ้น")
Trans.Commit()
Catch ex As Exception
MsgBox("ERROR : " & ex.Message)
Trans.Rollback()
End Try
Code
*หากผม เอา try และ transaction ออก จะสามารถลงข้อมูลเข้า Access ได้ตามปกติ แต่พอนำ try และ transaction เข้ามาใช้งานจะเกิด Error :ExecuteNonQuery requires the command to have a transaction when the connection assigned to the command is in a pending local transaction. The Transaction property of the command has not been initialized.