回 帖 发 新 帖 刷新版面

主题:VFP+MDB问题

在表TEST中有一几个日期时间型字段,但有日期时间型可以不必输入,我就用空日期时间表示,如以下代码:
INSERT INTO "test" (编号,生日) VALUES (1,CTOT(""))
if !TABLEUPDATE(1,.T.,"test")
messagebox(message(),64,"")&&连接错误: [Microsoft][ODBC Microsoft Access Driver] 标准表达式中数据类型不匹配。
endif 

问题:当用CTOT("")时,后面将无法完成远程数据更新,而CTOT("^2009/01/03")则可以,我可以肯定我的"生日"字段在MDB数据库中没有设置成不能为空的限制,不知道为什么,是不是用远程视图更新时无法完成对日期时间型字段为空值?还各位老师指点一下.
对了错误信息是:"连接错误: [Microsoft][ODBC Microsoft Access Driver] 标准表达式中数据类型不匹配。" 应该说视图和远程数据库的表的字段类型是对应好的,怎么会类型不匹配.

回复列表 (共4个回复)

沙发

如 BatchUpdateCount 被设置为一个大于1,
当用表缓冲进更新数据,并正在更新的数据表和数据表集的数据源来自多个客户端。
无论是否更新成功,TABLEUPDATE( ) 始终返回真 (.T.) 。

应避免将BatchUpdateCount设置为一个大于1的数。

板凳

TABLEUPDATE( ) 不能提交对没有启用表缓冲或行缓冲的数据表或临时表的修改。
如在表在没有启用行缓冲或表缓冲的情况下 用TABLEUPDATE( ) 函数,会产生一个错误信息。


3 楼

cbl518老师你好,好久没看见你的回帖了,很忙吧!
我想不是你说的问题,因为我没有设置 BatchUpdateCount .
我的表是采用表缓冲的只是没把代码写出来.
   CURSORSETPROP("Buffering",5,"test")
只是刚才我又试了一下,把没设置日期的字段,设置成NULL,就能通过,如:
INSERT INTO "test" (编号,生日) VALUES (1,.NULL.)
?TABLEUPDATE(1,.T.,"test")&&返回真了
不知道为什么?

4 楼

顺便问一下cbl518老师,TREEVIEW控件在运行时,如果修改节点的名称不符合要求时,如何,让节点的编辑状态保持不变,鼠标也无法移走,就算是最小化整个程序窗口,当最大化时,焦点仍然在被修改的节点上,且节点也处于编辑状态(,即必须节点名称要满足要求时,焦点才能移).

我来回复

您尚未登录,请登录后再回复。点此登录或注册