将日期字段设置为空
我试图在 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您是否能够将此代码重构为:
也许重构一点以避免 SQL 注入漏洞?
Are you able to refactor this code into:
Perhaps refactor a bit more to avoid the SQL injection vulnerability?