Tôi đang phát triển một ứng dụng dành cho máy tính để bàn nhỏ sử dụng C# .NET và MS-Access. Tôi không có bất kỳ kinh nghiệm nào trước đây về MS-Access. Tôi muốn biết liệu chúng ta có thể sử dụng các giao dịch trong Ms-Access hay không.Chúng tôi có giao dịch trong MS-Access không?
Tôi có tình huống được đề cập dưới đây.
Insert trong Tbl1
Insert trong Tbl2
Tôi muốn chèn vào tbl2 chỉ khi chèn trong tbl1 là thành công. Và nếu có một số ngoại lệ trong khi chèn vào tbl2, tôi muốn khôi phục việc chèn vào trong tbl1.
Tôi biết điều này có thể dễ dàng đạt được trong máy chủ sql, nhưng trong trường hợp truy cập ms, tôi nên quản lý điều này như thế nào. Xin vui lòng trợ giúp, cảm ơn trước.
Một số lưu ý về giao dịch truy cập: http://stackoverflow.com/questions/1987696/rollback-multiple-sql-update-queries -in-ms-access/1987718 # 1987718 – Fionnuala
Truy cập không có giao dịch, vì Access không phải là một cơ sở dữ liệu. Jet/ACE (công cụ db mặc định của Access) đã hỗ trợ commit/rollback miễn là tôi đã sử dụng nó (kể từ Jet 2.x, ví dụ: 1996). Nó không bao giờ hỗ trợ ghi nhật ký giao dịch và có lẽ sẽ không bao giờ (tôi nhận ra đó không phải là những gì bạn hỏi nhưng nhiều người đến với Jet/ACE từ nền cơ sở dữ liệu máy chủ thì khá mờ về ý nghĩa của thuật ngữ "giao dịch" và khó thời gian nắm bắt rằng Jet/ACE hỗ trợ một và không phải là khác). –