Тип операнда clash: int несовместим с датой, когда я пытаюсь обновить базу данных - PullRequest
0 голосов
/ 14 июня 2019

Я выполняю этот запрос для обновления столбца datetime в моей таблице:

DateTime today = DateTime.Today;
string[] queries = new string[] { "UPDATE *** SET ExpirationDate = " + today.ToString("yyyy/MM/dd"),
"UPDATE *** SET WrittenDate = " + today.ToString("yyyy/MM/dd"),
"UPDATE *** SET SystemDate = " + today.ToString("yyyy/MM/dd"),
"UPDATE *** SET SystemDate = " + today.ToString("yyyy/MM/dd"),
"UPDATE *** SET EventDate = " + today.ToString("yyyy/MM/dd")};

Этот формат основан на том, что я нашел в этой теме: Тип операнда clash: int несовместим с датой + Оператор INSERT конфликтует с ограничением FOREIGN KEY

Но это не работает. Я знаю, что это поля даты и времени, потому что я могу успешно выполнять DATEADD для них. Я просто хочу установить все записи в этих столбцах на текущую дату, но я продолжаю получать ту же ошибку, даже несмотря на все различные способы, которые я пробовал. Заранее спасибо за любую помощь!

1 Ответ

0 голосов
/ 14 июня 2019

Значение DATE в SQL должно быть заключено в одинарные кавычки '

Я выполняю этот запрос для обновления столбца datetime в моей таблице:

DateTime today = DateTime.Today;
string[] queries = new string[] { "UPDATE *** SET ExpirationDate = '" + today.ToString("yyyy/MM/dd") + "'",
"UPDATE *** SET WrittenDate = '" + today.ToString("yyyy/MM/dd") + "'",
"UPDATE *** SET SystemDate = '" + today.ToString("yyyy/MM/dd") + "'",
"UPDATE *** SET SystemDate = '" + today.ToString("yyyy/MM/dd") + "'",
"UPDATE *** SET EventDate = '" + today.ToString("yyyy/MM/dd") + "'"};

Я не уверен насчет "гггг / мм / дд", я думаю, вы должны поместить его в "ггггММдд".

...