Eigentlich wollte ich nur IDs aus einer Datenbank übernehmen. Jetzt stellt sich raus, dass die alle falsch sind. Es ist auch egal, ob es eine
SQL-Server-
DB oder eine IBM-DB2-Datenbank ist. Die drei Zahlen im Beispiel sind identisch - nur nicht in der Ausgabe.
Delphi-Quellcode:
procedure TFMain.Button2Click(Sender: TObject);
var A, B: Int64; C: String;
begin
A:=-7978126718202166279;
B:=Int64(DM.ADOCon.Execute('SELECT CAST(-7978126718202166279 as bigint)').Fields[0].Value);
C:=VarToStr(DM.ADOCon.Execute('SELECT CAST(-7978126718202166279 as bigint)').Fields[0].Value);
Memo1.Lines.Append('A: '+A.ToString);
Memo1.Lines.Append('B: '+B.ToString);
Memo1.Lines.Append('C: '+C);
end;
Und hier das Ergebnis in Memo1 - seht euch mal die letzten Ziffern an:
A: -7978126718202166279
B: -7978126718202166272
C: -7978126718202166279