IBDAC Array Fields With Firebird
Posted: Tue 17 May 2016 16:46
Hi Support
I found a dozen problem in using Array Fields with IBDAC.
Firebird 2.5 and 3.0
I am adding a Link to Each problem and a description.
1-Access Violation After Disconnect.
https://www.dropbox.com/s/f2v9fw58ti2ih ... t.zip?dl=0
2-Copy and Paste Component
https://www.dropbox.com/s/1jb2ta5kvie97 ... t.zip?dl=0
3-Corrupt DFM
https://www.dropbox.com/s/7nryhe0iktb8o ... M.zip?dl=0
4-Nil and Invalid Handle
https://www.dropbox.com/s/j1zqh1ircqce3 ... d.zip?dl=0
5-Invalid ID From Identity Column After First Insert
https://www.dropbox.com/s/5l4geg93x37p5 ... t.zip?dl=0
6-Manager ID Manual
https://www.dropbox.com/s/oo7qnra9ju25w ... D.zip?dl=0
7-Add Query Fields
https://www.dropbox.com/s/x2akzc2d8hr35 ... s.zip?dl=0
8-Insert Query Access Violation
https://www.dropbox.com/s/1c9ptgz68i71t ... n.zip?dl=0
9-TField Array Index Access Violation
https://www.dropbox.com/s/h762784rv2bm1 ... n.zip?dl=0
10-TIBCLoader With Array Field Insert
https://www.dropbox.com/s/zx2z5jfixpilv ... t.zip?dl=0
11-not insert Value if Use Cast Type
if Use TypeCast SetItemAsInteger with Array Index not Insert Because Not Convert Values.
Example Here.
IBCSQL.SQL.Text := 'insert into IBDAC_ARRAYS (ID, CHAR_ARRAY) Values(:ID, :CHAR_ARRAY)';
IBCSQL.ParamByName('ID').AsInteger := 50;
with IBCSQL.ParamByName('CHAR_ARRAY').AsArray do begin
TableName := 'IBDAC_ARRAYS';
ColumnName := 'CHAR_ARRAY';
DbHandle := IBCSQL.Connection.Handle;
TrHandle := IBCSQL.Transaction.Handle;
GetArrayInfo;
SetItemAsString([1], '1'); //Here My Field is Array Integer. More use Type Cast, Not Insert Values em Array Field
SetItemAsString([2], '2');
SetItemAsString([3], '3');
end;
IBCSQL.Execute;
Videos Here by YouTube.
https://youtu.be/LP5NNsX69Jg
https://youtu.be/89bgJC3EizU
https://youtu.be/lje3CQrvVbg
https://youtu.be/TmW8JVo_0Mw
https://youtu.be/RxBThZoth08
https://youtu.be/iPRMCBE96gI
https://youtu.be/mHnkIYKIS5g
https://youtu.be/X0gr_7EZsOg
https://youtu.be/s9uWReXje1o
https://youtu.be/Xygj0lwjMec
Please Help-me Support
Sorry my Bad English.
Thanks.
I found a dozen problem in using Array Fields with IBDAC.
Firebird 2.5 and 3.0
I am adding a Link to Each problem and a description.
1-Access Violation After Disconnect.
https://www.dropbox.com/s/f2v9fw58ti2ih ... t.zip?dl=0
2-Copy and Paste Component
https://www.dropbox.com/s/1jb2ta5kvie97 ... t.zip?dl=0
3-Corrupt DFM
https://www.dropbox.com/s/7nryhe0iktb8o ... M.zip?dl=0
4-Nil and Invalid Handle
https://www.dropbox.com/s/j1zqh1ircqce3 ... d.zip?dl=0
5-Invalid ID From Identity Column After First Insert
https://www.dropbox.com/s/5l4geg93x37p5 ... t.zip?dl=0
6-Manager ID Manual
https://www.dropbox.com/s/oo7qnra9ju25w ... D.zip?dl=0
7-Add Query Fields
https://www.dropbox.com/s/x2akzc2d8hr35 ... s.zip?dl=0
8-Insert Query Access Violation
https://www.dropbox.com/s/1c9ptgz68i71t ... n.zip?dl=0
9-TField Array Index Access Violation
https://www.dropbox.com/s/h762784rv2bm1 ... n.zip?dl=0
10-TIBCLoader With Array Field Insert
https://www.dropbox.com/s/zx2z5jfixpilv ... t.zip?dl=0
11-not insert Value if Use Cast Type
if Use TypeCast SetItemAsInteger with Array Index not Insert Because Not Convert Values.
Example Here.
IBCSQL.SQL.Text := 'insert into IBDAC_ARRAYS (ID, CHAR_ARRAY) Values(:ID, :CHAR_ARRAY)';
IBCSQL.ParamByName('ID').AsInteger := 50;
with IBCSQL.ParamByName('CHAR_ARRAY').AsArray do begin
TableName := 'IBDAC_ARRAYS';
ColumnName := 'CHAR_ARRAY';
DbHandle := IBCSQL.Connection.Handle;
TrHandle := IBCSQL.Transaction.Handle;
GetArrayInfo;
SetItemAsString([1], '1'); //Here My Field is Array Integer. More use Type Cast, Not Insert Values em Array Field
SetItemAsString([2], '2');
SetItemAsString([3], '3');
end;
IBCSQL.Execute;
Videos Here by YouTube.
https://youtu.be/LP5NNsX69Jg
https://youtu.be/89bgJC3EizU
https://youtu.be/lje3CQrvVbg
https://youtu.be/TmW8JVo_0Mw
https://youtu.be/RxBThZoth08
https://youtu.be/iPRMCBE96gI
https://youtu.be/mHnkIYKIS5g
https://youtu.be/X0gr_7EZsOg
https://youtu.be/s9uWReXje1o
https://youtu.be/Xygj0lwjMec
Please Help-me Support
Sorry my Bad English.
Thanks.