Toàn bộ Trường hợp người dùng và AttachDbFileName = cách tiếp cận là thiếu sót - tốt nhất là! Khi chạy ứng dụng của bạn trong Visual Studio, nó sẽ sao chép xung quanh .mdf
tệp (từ App_Data
của bạn thư mục đến thư mục đầu ra - thường là .\bin\debug
- nơi ứng dụng của bạn chạy) và rất có thể là , INSERT
của bạn hoạt động tốt - nhưng bạn chỉ đang xem tệp .mdf sai đến cuối cùng!
Nếu bạn muốn gắn bó với phương pháp này, hãy thử đặt một điểm ngắt trên myConnection.Close()
gọi - và sau đó kiểm tra .mdf
với SQL Server Mgmt Studio Express - Tôi gần như chắc chắn rằng dữ liệu của bạn ở đó.
Giải pháp thực sự theo ý kiến của tôi sẽ là
-
cài đặt SQL Server Express (và bạn vẫn thực hiện điều đó)
-
cài đặt SQL Server Management Studio Express
-
tạo cơ sở dữ liệu của bạn trong SSMS Express , hãy đặt tên hợp lý cho nó (ví dụ:
DXDB
) -
kết nối với nó bằng cách sử dụng tên cơ sở dữ liệu hợp lý của nó (được đưa ra khi bạn tạo nó trên máy chủ) - và đừng gây rối với các tệp cơ sở dữ liệu vật lý và các phiên bản người dùng. Trong trường hợp đó, chuỗi kết nối của bạn sẽ giống như sau:
Data Source=.\SQLEXPRESS;Database=DXDB;Integrated Security=True
và mọi thứ khác chính xác giống như trước đây ...