我通过ODBC使用XOJO和pervasiveDB。 我需要更新一个表单,在该表单上我有一个可以在表单上删除的日期字段。当在表单上删除日期时,我也需要在数据库中删除它。
我正在使用ODBC,并且由于某种原因无法执行此操作。我试过发送NULL,nil,0000-00-00,它根本就没有这样做。
如果日期被删除,我甚至试图不发送,希望最好,但它不会消失。
有什么想法吗?
答案 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驱动程序。