Đây là tình huống phổ biến với cơ sở dữ liệu dựa trên tệp (hoặc tệp cơ sở dữ liệu đính kèm)
Chuỗi kết nối của bạn tham chiếu đến cơ sở dữ liệu mà không sử dụng bất kỳ đường dẫn nào.
Điều này có nghĩa là cơ sở dữ liệu của bạn nằm trong cùng một thư mục nơi ứng dụng của bạn chạy .
Bạn không gặp bất kỳ sự cố nào khi chèn, sửa đổi hoặc xóa dữ liệu nhưng bạn mất mọi thứ khi khởi động lại ứng dụng từ BÊN TRONG Phiên gỡ lỗi Visual Studio.
Bây giờ, nếu bạn xem các tệp dự án của mình, bạn có thể có tệp cơ sở dữ liệu được liệt kê giữa các tệp khác. Giữa các thuộc tính của tệp cơ sở dữ liệu này, bạn sẽ thấy thuộc tính Copy to the Output directory
và giá trị của nó được đặt thành Copy Always
.
Điều này có nghĩa là mỗi khi bạn khởi động lại ứng dụng của mình từ bên trong môi trường Visual Studio, tệp đó được sao chép từ thư mục dự án vào thư mục đầu ra (thường là BIN \ DEBUG hoặc BIN \ x86 \ DEBUG) nhưng điều này sẽ phá hủy cơ sở dữ liệu được sử dụng trong lần chạy trước đó. dữ liệu được chèn đã sửa đổi hoặc bị xóa
Thay đổi thuộc tính Copy to Output Directory
sang Copy Never
hoặc Copy if Newer
Tuy nhiên Copy If Newer
trình bày một vấn đề khác với MS-Access. Nếu bạn mở tệp cơ sở dữ liệu nằm trong thư mục dự án của mình bằng cách sử dụng Access o sử dụng cửa sổ Kết nối Máy chủ của Visual Studio, tệp sẽ ngay lập tức được sửa đổi nếu bạn không thay đổi bất kỳ điều gì và do đó Bản sao Nếu Mới hơn sẽ thực thi bản sao vào thư mục đầu ra