sqlite3中有一字段为‘20121105155325’,是integer类型的。
但是我在delphi中获取这个字段值就变成‘-8545615315’.delphi中这个字段的类型是int64.
求助?如何让它正常显示啊?

解决方案 »

  1.   

    字符串就行,一看这个字段就是记录时间戳的。用string就行。
      

  2.   

    可以数据库是integer类型的,不能改数据库。
      

  3.   

    怎么会显示成那样了,那你在select的时候把Integer转成字串类型就可以了
      

  4.   

    function GetFldInt64(ds:Tdataset;pFldName:String):Int64;
    // 获取64位整数字段的内容
    // 兼容常规整数字段,但不建议使用
    var vfld:TField;
    begin
      Result := 0;
      vfld := ds.FieldByName(pFldName); // 故意使用此方法,目的是当字段名不正确时,将引起错误
      if vfld is TLargeintField then Result := TLargeintField(vfld).AsLargeInt
      else if vfld is TIntegerField then Result := vfld.AsInteger
      else myaskwithmsgargs('字段【%S】不是32或64位整数类型!',[vfld.FieldName],'E',60);
    end;