0

我在 SQL Server 2005 中有一个值为 -7590730850027557904 的字段,我正在通过 Delphi 5 中的 ADO 检索它,但我检索到的是 7590730850027557904 - 省略了负号。从 SQL Server 到 Delphi 5 检索 longint 值的正确方法是什么?

这是我的代码

  with DataSet do
  begin
    Connection := Conn;
    CommandText := 'SELECT * FROM CUSTOMERSLIST';
    Open;
  end;
  ShowMessage(DataSet.FieldByName('SID').AsString);
4

2 回答 2

0

SQL Server 有bigint类型。
它从 -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807)。Delphi中的
等效Int64

于 2011-02-22T07:23:57.830 回答
0

感谢我的同事。解决方案是在从数据库中查询时将 bigint 转换为字符串。

 with DataSet do
  begin
    Connection := Conn;
    CommandText := 'SELECT CASST(SID AS VARCHAR(50)) AS SID FROM CUSTOMERSLIST';
    Open;
  end;
  ShowMessage(DataSet.FieldByName('SID').AsString);
于 2011-02-25T14:02:10.733 回答