Я пытаюсь вставить пустой DateTime
в базу данных FoxPro, используя DbParameter
в C #.Наше приложение объединяет данные FoxPro вместе с моделями / данными SQL Server и .NET.
Моя текущая проблема заключается в том, что большинство наших DateTime
типов в C # не допускают значения NULL и не должны.Тем не менее, большинство наших устаревших данных в FoxPro являются пустыми датами (отображаются как '/ /::').Я пытаюсь выполнить вставку в таблицу FoxPro, где я проверяю, соответствует ли .NET DateTime
определенным критериям, а затем вставляет пустую дату.Эта последняя часть оказалась кошмаром.
То, что я пробовал до сих пор:
.Parameters.Add(string.Empty, new DateTime())
Выше понятно, что вставляет 01/01/0001
, но это не то, что мы хотим.
.Parameters.Add(string.Empty, "{}")
.Parameters.Add(string.Empty, "{:://}")
.Parameters.Add(string.Empty, "{//}")
.Parameters.Add(string.Empty, "'{}'")
Все вышеперечисленное приводит к
System.Data.OleDb.OleDbException: 'Несоответствие типов данных'.
, что имеет смысл, потому что я пытаюсьотправить string
в поле с типом DateTime
.
Кто-нибудь знает, как вставить пустой DateTime
в FoxPro?