Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 将日期字段设置为空_Sql Server_Sql Server 2005_Tsql_Vbscript_Asp Classic - Fatal编程技术网

Sql server 将日期字段设置为空

Sql server 将日期字段设置为空,sql-server,sql-server-2005,tsql,vbscript,asp-classic,Sql Server,Sql Server 2005,Tsql,Vbscript,Asp Classic,我正在尝试将MS SQL Server 2005数据库中的日期字段设置为null 我正在asp页面上使用VBScript DB中的列允许空值。但是,当我尝试添加记录而不向日期字段传递任何内容,或尝试将该字段设置回Null时,会出现以下错误: 提供程序错误“80020005” 类型不匹配 /添加_client_notes.asp,第142行 第142行是:rs(“客户票据到期日”)=客户票据到期日 以下是所有代码: <% clientnotes_id = request("clie

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

我正在asp页面上使用VBScript

DB中的列允许空值。但是,当我尝试添加记录而不向日期字段传递任何内容,或尝试将该字段设置回Null时,会出现以下错误:

提供程序错误“80020005”

类型不匹配

/添加_client_notes.asp,第142行

第142行是:
rs(“客户票据到期日”)=客户票据到期日

以下是所有代码:

<% 
    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

%>

我尝试发送一个空值和一个空值,但都返回相同的错误

当我发送日期值时,效果非常好


如何将客户端\u notes\u duedate设置回NULL?

您是否能够将此代码重构为:

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

也许需要进行更多的重构以避免SQL注入漏洞?

它现在不会抛出错误,但不会覆盖数据库中的值,更新后这些值保持不变。请参阅“我的问题”下有关解决方案的注释。@Dale;嘿,没问题。你更喜欢单语句(一个更新)而不是三个语句(SELECT、field UPDATE和rs.UPDATE)?哇,对不起,伙计们,但我发现了我真正的问题。我在脚本中使用的ajax函数指向的是一个旧的asp文件,而不是我正在编辑的文件,原始问题中的代码实际上是有效的。再次抱歉,非常感谢你愿意尝试解决我的问题。我应该如何划分要点/哪种解决方案最适合接受?