将日期字段设置为null

时间:2011-05-09 22:03:25

标签: sql-server sql-server-2005 tsql vbscript asp-classic

我正在尝试在MS SQL Server 2005数据库中将日期字段设置为null。

我在asp页面上使用VBScript。

DB中的列允许空值。但是当我尝试添加记录并且没有将任何内容传递给日期字段,或者尝试将字段设置回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 个答案:

答案 0 :(得分:3)

您是否可以将此代码重构为:

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

或许重构一下以避免SQL注入漏洞?