日期问题:'Invalid variant type conversion'(100分)

  • 主题发起人 主题发起人 sunonus
  • 开始时间 开始时间
S

sunonus

Unregistered / Unconfirmed
GUEST, unregistred user!
窗体,用InterBase组控件,IBTABLE2.FieldByName('I_DATE').AsDateTime:=date ;
函数date在DBEdit2中显示为2002-6-15,在post时发生错误EVariantError:'Invalid variant type conversion'
后台,在Ibconsole中建表,字段I_DATE为DATE类型.
---------不知何解?高手请进
 
TIBDatabase.SQLDialect = 3
 
我的IBconsole中SQLDialect和窗体上的IBDatabase1.SQLDialect属性值也是3.楼上的看来解决不了.
 
你在进行类型转换时发生的错误,我觉得应该是:asdate
 
这个错误我也碰过,不过我当时不是时间字段
我用如下函数解决:
VarToStr
或许你的问题可以使用VarToDateTime解决
或则反过过来
 
把日期字段转换为字符类型存储:
IBTABLE2.FieldByName('I_DATE').AsString:= DateToStr(date);
 
没有使用过InterBase,但是如果出现同样的问题,那出错原因也应该差不多。
数据库有自己的日期格式,而Delphi也有自己的日期格式(从属于操作系统),
最好能够以字符串变量的方式作为中间交换载体。
 
使用标准时间 : 2002-06-25 12:00:00:00即可
 
与操作系统时间格式有关,在控制面板--》区域选择中检查当前系统时间的分隔符是不是‘-’
,如果不是会出错
 
安装了delphi6的2个更新包后,错误提示改为Could not convert variant of type(string) into type (date).还是找不到解决方法:-<
 
这很有可能是前台输入的数据为空或者数据不是有效的date格式,如你的数据前后多了
一个你看不到的安全可靠空格,
 
后退
顶部