Установить поле даты в ноль - PullRequest
2 голосов
/ 10 мая 2011

Я пытаюсь установить для поля даты значение null в базе данных MS SQL Server 2005.

Я использую VBScript на страницах asp.

Столбец в БД допускает пустые значения.Но когда я пытаюсь добавить запись и ничего не передавать в поле даты или пытаться установить в поле значение Null, я получаю эту ошибку:

Ошибка поставщика '80020005'

Несоответствие типов.

/ add_client_notes.asp, строка 142

Строка 142: rs("client_notes_duedate") = client_notes_duedate

Вот весь код:

<% 
    clientnotes_id = request("clientnotes_id")
    client_notes_duedate = request("client_notes_duedate")
    if client_notes_duedate = "" then
        client_notes_duedate = Null
    end if

    openSQL("SELECT * FROM client_notes WHERE client_notes_id=" & clientnotes_id)
    rs("client_notes_duedate") = client_notes_duedate
    rs.update

%>

Я попытался отправить пустое значение и значение NULL, но оба возвращают одну и ту же ошибку.

Когда я отправляю значение даты вместе, оно прекрасно работает.

Как я могуустановить client_notes_duedate обратно в NULL?

1 Ответ

3 голосов
/ 10 мая 2011

Можете ли вы реорганизовать этот код в:

execSomeSqlStatement("UPDATE client_notes SET client_notes_duedate = NULL 
 WHERE client_notes_id=" & clientnotes_id)

Может быть, еще немного изменить рефакторинг, чтобы избежать уязвимости внедрения SQL?

...