Code: Select all
CREATE TABLE A_T1(
F1 integer,
F2 varchar(10),
F3 varchar(20),
Primary Key(F1, F2)
);
Code: Select all
ClientDataSet1.Close();
SQLQuery3.SQL.Text := 'SELECT * FROM A_T1 ';
ClientDataSet1.Open();
ClientDataSet1.EmptyDataSet;
ClientDataSet1.Append();
ClientDataSet1.Fields[0].AsInteger := 1;
ClientDataSet1.Fields[1].AsString := '';
ClientDataSet1.Fields[2].AsString := '';
ClientDataSet1.Post();
ClientDataSet1.ApplyUpdates(0);
Code: Select all
Execute: SELECT * FROM A_T1
Begin transaction: user "postgres", server "127.0.0.1"
Execute: INSERT INTO "a_t1"
("f1", "f2", "f3")
values
($1, $2, $3)
:1 (Int32,IN) = 1
:2 (WideString,IN) = <NULL>
:3 (WideString,IN) = <NULL>
Error: Column "f2" in violation of non-Null Null value limit
Rollback: user "postgres", server "127.0.0.1"