设置日期字段为空
问题描述:
我想在MS SQL Server 2005数据库中将日期字段设置为空。设置日期字段为空
我在asp页面上使用VBScript。
DB中的列允许空值。但是,当我尝试添加一条记录,而不是跟着日期字段通过任何东西,或尝试设置现场发回的空,我得到这个错误:
Provider error '80020005'
Type mismatch.
/add_client_notes.asp, line 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?
答
你能重构这个代码为:
execSomeSqlStatement("UPDATE client_notes SET client_notes_duedate = NULL
WHERE client_notes_id=" & clientnotes_id)
也许重构一点,以避免SQL注入漏洞?
哇,对不起,我只是发现我真正的问题。我用来发布到这个脚本的ajax函数是指向一个较老的asp文件,而不是我正在编辑的那个,它原来的问题实际上起作用。再次抱歉,并且非常感谢您愿意尝试解决我的问题。我应该如何分配点数/哪种解决方案最适合接受? – UpHelix 2011-05-09 22:31:06