将日期字段设置为空

发布于 2024-11-06 05:24:22 字数 837 浏览 0 评论 0原文

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

我在 asp 页面上使用 VBScript。

数据库中的列允许空值。但是,当我尝试添加记录而不将任何内容传递到日期字段,或者尝试将该字段设置回 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?

I am trying to set a date field to null in a MS SQL Server 2005 database.

I am using VBScript on asp pages.

The column in the DB allows for nulls. But when I try to add a record and not pass anything along to the date field, or try to set the field back to Null, I get this error:

Provider error '80020005'

Type mismatch.

/add_client_notes.asp, line 142

Line 142 is: rs("client_notes_duedate") = client_notes_duedate

Here is all the code:

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

%>

I have tried sending an empty value and a NULL value but both return the same error.

When I send the date value along it works great.

How can I set client_notes_duedate back to NULL?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你的背包 2024-11-13 05:24:22

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

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

也许重构一点以避免 SQL 注入漏洞?

Are you able to refactor this code into:

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

Perhaps refactor a bit more to avoid the SQL injection vulnerability?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文