Tôi đang cố chèn dữ liệu mới vào cơ sở dữ liệu .dbf cũ được tạo bằng Foxpro. Cơ sở dữ liệu có rất nhiều cột và tôi không cần phải điền vào từng cột.C# cách viết đúng vào .dbf (foxpro)
Kết nối hoạt động. Nhưng bây giờ im nhận được ngoại lệ "Trường XY không cho phép giá trị null" cho mỗi một tôi không thêm vào trong tuyên bố chèn của tôi. Nhưng cơ sở dữ liệu được cấu hình để cho phép các giá trị null.
Tôi đang sử dụng đoạn mã sau:
OleDbConnection dbfcon = new OleDbConnection("Provider=VFPOLEDB.1;" +
"Data Source=" + Application.StartupPath + "\\Daten;");
dbfcon.Open();
String query = "INSERT INTO TB_KUVG (KDNR, Kuvg_id) " +
"VALUES(?,?)";
OleDbCommand cmd = new OleDbCommand(query, dbfcon);
cmd.Parameters.AddWithValue("@KDNR", 1);
cmd.Parameters.AddWithValue("@Kuvg_id", 1);
cmd.ExecuteNonQuery();
dbfcon.Close();
Vì vậy, những gì tôi làm sai? Có nên sử dụng cách khác để viết vào .dbf từ C#?
Thông báo có vẻ khá rõ ràng. Bạn có một hoặc nhiều cột không cho phép giá trị NULL và bạn không chỉ định giá trị cho chúng trong truy vấn chèn của bạn. Tôi khuyên bạn nên kiểm tra từng cột trong bảng đó cho vấn đề này – Steve