起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 98|回复: 9

【搞定】日期值从数据库查出的处理!**

[复制链接]
发表于 2007-8-14 16:28:09 | 显示全部楼层 |阅读模式
从数据库查出日期值:(1)将它传入一个函数,但是函数参数类型是Double的。FieldByName('..').As ----What?
(2)TDataTime能当直接当Double用么?
(3)如过日期为空值,我要把它传入函数
  函数中条件判断是 if (日期=nil)我该,查出的日期如何处理?
回复

使用道具 举报

发表于 2007-8-14 17:24:25 | 显示全部楼层
1、FieldByName('..').AsDataTime
2、当然可以,日期本来就是一个数字
3、没有看懂,是如果日期为空,代码怎么判断日期字段是否为空,对吗?如果是 用 is null 来判断就可以了,如果不是,请明示我
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-14 17:26:52 | 显示全部楼层
奥,知道了!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-14 17:31:49 | 显示全部楼层
传入日期值的函数我该声明参数类型为TDataTime好呢还是Double好,如果是Double就不能传入niI了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-14 17:34:53 | 显示全部楼层
if(FieldByName('ZTRQ').IsNull) then
              v2:=nil //v2 是TDateTime
[错误]Biz:\LBPFF\GGZY\LBPFFZYJ.Library.pas(82, 19): Incompatible types: "Double" and "Void*"
回复 支持 反对

使用道具 举报

发表于 2007-8-14 17:48:23 | 显示全部楼层
日期声明为double

直接Clear 这个字段的值就可以了,不是赋值为nil
回复 支持 反对

使用道具 举报

发表于 2007-8-14 17:49:38 | 显示全部楼层
那应该和0判断了,呵呵
回复 支持 反对

使用道具 举报

发表于 2007-8-14 17:54:36 | 显示全部楼层
可以设定一个特殊值代表空,如:
if(FieldByName('ZTRQ').IsNull) then
              v2:= -1;
在处理时先进行判断
  if v2<0 then //按照空处理
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-15 08:00:14 | 显示全部楼层
ok!就这么办
回复 支持 反对

使用道具 举报

发表于 2007-8-15 09:09:52 | 显示全部楼层
结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-13 19:49 , Processed in 0.038005 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表