Объясните, пожалуйста, почему записываю одно и тоже число, но получаю разный результат в базе.
GlobalHHNN: array of array of int64;
GlobalHHNN[i1,i2])=82217947977; хочу записать в базу это число
Form1.MyQuery1.ParamByName('hh_id').Asstring :=inttostr(GlobalHHNN[i1,i2]);
в базу записывается число 82217947977
Form1.MyQuery1.ParamByName('hh_id').AsInteger :=GlobalHHNN[i1,i2];
в базу записывается число 613569353
Сам код.
Код: Выделить всё
Form1.MyQuery1.SQL.Text := 'INSERT INTO HH'
+ '(hh_id)'
+ 'VALUES'
+ '(:hh_id)';
Form1.MyQuery1.Prepare;
if not Form1.MyConnection1.InTransaction then
Form1.MyConnection1.StartTransaction;
try
for i1:=0 to 999 do begin
if GlobalHHNN[i1,0]<>0 then begin
for i2:=1 to GlobalHHNN[i1,0] do begin
Form1.MyQuery1.ParamByName('hh_id').Asstring :=inttostr(GlobalHHNN[i1,i2]);
Form1.MyQuery1.Execute;
end;
end;
end;
Form1.MyConnection1.Commit;
except
Form1.MyConnection1.Rollback;
raise;
end;