实在是笨 试了半天发现跟那些正常模样的日期时间不一样 还不知道怎么把数据(如1204848205515)从数据库中读出来, var ss:tdatetime; ss:= clientdataset1.FieldByName('time1').AsDateTime ;提示Cannot access field 'time1' as type datetimeSELECT DATEADD(s,1204848205515/1000,'1970-02-15 23:19:58.000') 如何得到上面的结果
在写Sql的时候,直接转换 给你个例子,自己调试下:select DATEADD(s,time1/1000,'1970-02-15 23:19:58.000') as time1 from table1
var ss:TDateTime; begin ss:= clientdataset1.FieldByName('time1').AsString ; Sql.text:='SELECT DATEADD(s,'+clientdataset1.FieldByName('time1').AsString+'/1000,''1970-02-15 23:19:58.000'') ' open; ss:=FieldByName().AsDatetime;
SQL Server的日期就是这样产生的
另:数据类型为int或bigint等时长度为4和8即他们的每一个值要求4个字节存储空间或8字节,而不是他们存的
长度为4和8.
var ss:tdatetime;
ss:= clientdataset1.FieldByName('time1').AsDateTime ;提示Cannot access field 'time1' as type datetimeSELECT DATEADD(s,1204848205515/1000,'1970-02-15 23:19:58.000')
如何得到上面的结果
给你个例子,自己调试下:select DATEADD(s,time1/1000,'1970-02-15 23:19:58.000') as time1 from table1
ss:TDateTime;
begin
ss:= clientdataset1.FieldByName('time1').AsString ;
Sql.text:='SELECT DATEADD(s,'+clientdataset1.FieldByName('time1').AsString+'/1000,''1970-02-15 23:19:58.000'') '
open;
ss:=FieldByName().AsDatetime;
end;