如何在ODBC中将日期设置为NULL

时间:2013-10-15 21:18:49

标签: odbc pervasive-sql xojo

我通过ODBC使用XOJO和pervasiveDB。 我需要更新一个表单,在该表单上我有一个可以在表单上删除的日期字段。当在表单上删除日期时,我也需要在数据库中删除它。

我正在使用ODBC,并且由于某种原因无法执行此操作。我试过发送NULL,nil,0000-00-00,它根本就没有这样做。

如果日期被删除,我甚至试图不发送,希望最好,但它不会消失。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我想我解决了这个问题。这是解决方案:

在尝试了许多不同的事情后,唯一可行的解​​决方案。

  dim inTYP as string = "6010-03"


SQLupdateBLIN = "update BLIN set inDAT=NULL  WHERE inTYP= '" + inTYP +"'"

如果我以下列格式发送inDAT(将其作为变量发送),那么它不起作用(没有错误,只是不起作用):

将inDAT调暗为string =“NULL”

似乎ODBC不喜欢将值设置为null的变量。

答案 1 :(得分:0)

使用直接SQL肯定会有效。

如果您正在使用RecordSet,那么您希望使用如下语法将列设置为NULL:

MyRecordSet.Field("inDAT").Value = Nil

但这是否有效完全取决于ODBC驱动程序。