H hophy Unregistered / Unconfirmed GUEST, unregistred user! 2008-08-10 #1 我的oracle数据有一个表的字段是timestamp类型,用TQuery或TTable打开该表都会出“Invalid field type”的错,知道是什么原因吗?如果在SQL语句中用to_char函数将此字段转换一下,数据可以正常读出,但我又不想这样做,有什么办法能直接读出该字段的值?
我的oracle数据有一个表的字段是timestamp类型,用TQuery或TTable打开该表都会出“Invalid field type”的错,知道是什么原因吗?如果在SQL语句中用to_char函数将此字段转换一下,数据可以正常读出,但我又不想这样做,有什么办法能直接读出该字段的值?
S szhcracker Unregistered / Unconfirmed GUEST, unregistred user! 2008-08-11 #2 试试....AsString?估计是需要用to_char转换的吧?
H hophy Unregistered / Unconfirmed GUEST, unregistred user! 2008-08-13 #3 query或table一open就出错,根本不可以执行asString操作
H hophy Unregistered / Unconfirmed GUEST, unregistred user! 2008-08-15 #6 但由于历史原因,必须要用BDE控件。真的没有办法了吗?
S szhcracker Unregistered / Unconfirmed GUEST, unregistred user! 2008-08-26 #7 我觉得既然可以用to_char函数,为什么不想这样做呢?或者你把那个字段类型改成Date吧
E easykoala Unregistered / Unconfirmed GUEST, unregistred user! 2008-08-26 #8 办法当然有,更改TQuery或TTable的代码,使其支持timestamp
H hophy Unregistered / Unconfirmed GUEST, unregistred user! 2008-08-26 #9 我做的是一个通用的工具,接收用户的sql然后执行,怎么可能知道用户哪个字段是timestamp类型,然后用to_char函数转换呢!
S szhcracker Unregistered / Unconfirmed GUEST, unregistred user! 2008-09-04 #10 你既然做的是一个通用的工具,那就要考虑到各种可能,不论是用户方面的,还是数据库方面的,比如你用try ... except ... end来捕获数据库或控件返回的异常,是字段类型的问题就应该做出处理,比如用to_char...再尝试一次等等,总之:通用工具不是这么好做的,你如果连这种异常都不能处理好,就不要开发这种工具,开发出来也是吃力不讨好的事情,试想一下:一个所谓的通用工具老是出错,还有人会去用吗?
你既然做的是一个通用的工具,那就要考虑到各种可能,不论是用户方面的,还是数据库方面的,比如你用try ... except ... end来捕获数据库或控件返回的异常,是字段类型的问题就应该做出处理,比如用to_char...再尝试一次等等,总之:通用工具不是这么好做的,你如果连这种异常都不能处理好,就不要开发这种工具,开发出来也是吃力不讨好的事情,试想一下:一个所谓的通用工具老是出错,还有人会去用吗?
H hophy Unregistered / Unconfirmed GUEST, unregistred user! 2008-09-04 #11 我的程序当然会对异常做这样的处理,我现在是想解决这个问题,才把出错的信息写出来,如果不解决这个问题,只是捕捉了异常,数据还是显示不了,那工具还有什么用!
H hophy Unregistered / Unconfirmed GUEST, unregistred user! 2008-09-11 #13 我用BDE查看DB2数据库的timestamp字段也没有问题,但查oracle的就不行,9i和10g都出错
W wyb_506 Unregistered / Unconfirmed GUEST, unregistred user! 2008-09-18 #14 反正你客户端都装了oracle 客户端了 那就 干脆 ODBC 使用oracle的数据引擎
H hophy Unregistered / Unconfirmed GUEST, unregistred user! 2008-09-20 #15 to wyb_506:具体怎么做法,给个简单例子行吗?