当你给日期赋个空值,SQL认为是1900年。
所以你在取值是判断一下,
if parambyname('ccrq').asFloat<1901 then
edit.text:='' else edit.text:=parambyname('ccrq').asstring;
所以你在取值是判断一下,
if parambyname('ccrq').asFloat<1901 then
edit.text:='' else edit.text:=parambyname('ccrq').asstring;
解决方案 »
- delphi 数据库存取图片
- Delphi中borderstyle 为bsnone 的窗口怎么实现最大化而不是全屏?
- matlab程序运行无法自动终止
- 求教如何做类似网际快车等多线程下载工具
- delphi中如何檢測內存泄露?高分送﹐在線等﹗急急急。UP有分﹗
- 如何获得鼠标范围的信息,请大家帮帮忙
- 关于IdTCPServer的问题
- oracle数据表中有一个blob类型字段,delphi中用adodataset\adotable连接,激活报错!
- 循环问题出在哪里呢。请教高手
- 对ComboBox组件比较熟的牛哥,帮我把一小段ASP代码改为Delphi ???
- 查询的表名怎样选?
- 帮忙看看这有什么规律
可以用语句
adocmmand.sql.add ('update table1 set a = null')
环境:d6,oracle8.1.6方法1:
fieldbyname('DateField').clear;
方法2:
fieldbyname('DateField').ASString := '';
方法3:
fieldbyname('DateField').asDateTime := 0;方法1,2 在当时似乎是成功了,但实际上在Oracle中保存的值是:10009年...,当查询该记录时出错:"ORA-01801:日期格式对于内部缓冲区过长",在ms sql下没有试。方法3,虽然没有错,但不是Null,是1890年。
TQuery和TUpdateSql一起使用,且TQuery的CatchedUpdate 为True时出的问题!!
应该行的