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 を string に変換することです。

 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 に答える