Próbuję wstawić nowe dane do starej bazy danych .dbf utworzonej za pomocą foxpro. Baza danych zawiera wiele kolumn i nie muszę wypełniać każdego z nich.C# jak poprawnie pisać do .dbf (foxpro)
Połączenie działa. Ale teraz otrzymuję wyjątek "Pole XY nie zezwala na wartości null" dla każdego, którego nie dodaję w mojej instrukcji wstawiania. Ale baza danych jest skonfigurowana tak, aby zezwalać na wartości puste.
używam następujący kod:
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();
Więc co robię źle? Czy lepiej użyć innej metody zapisu do pliku .dbf z C#?
Wiadomość wydaje się całkiem jasna. Masz jedną lub więcej kolumn, które nie zezwalają na wartości NULL i nie określasz ich wartości w kwerendzie wstawiania. Proponuję sprawdzić każdą kolumnę w tej tabeli dla tego numeru – Steve