This is a simple database.
CREATE TABLE A(FIELD1 INT PRIMARY KEY, FIELD2 VARCHAR(10));
INSERT INTO A (FIELD1, FIELD2) VALUES (1, 'A');
tbl1 is opened and it contains the data in table A. I want to insert blank data, 6 records with blank data, null data in the Tclientdataset for make labels. In this example i get an error for 'Key violation'.
procedure TForm1.btn1Click(Sender: TObject);
var
i:Integer;
cdsEti:TClientDataSet;
dtstprvEti:TDataSetProvider;
iNroEspaciosBlanco: Integer;
begin
iNroEspaciosBlanco := 6;
dtstprvEti := TDataSetProvider.Create(nil);
cdsEti:= TClientDataSet.Create(nil);
dtstprvEti.DataSet := tbl1;
cdsEti.Data := dtstprvEti.Data;
dtstprvEti.Constraints := False;
cdsEti.ReadOnly := False;
for i := 0 to (cdsEti.Fieldcount-1) do
begin
cdsEti.fields[i].ReadOnly := false;
cdsEti.Fields[i].Required := false;
cdsEti.FieldDefs[i].Attributes := [];
end;
cdsEti.Active := True;
cdsEti.First;
for i := 1 to iNroEspaciosBlanco do
begin
cdsEti.Insert;
cdsEti.Post;
end;
FreeAndNil(cdsEti);
FreeAndNil(dtstprvEti);
end;
dfm contains this. Simply a button, a connection and a table.
object Form1: TForm1
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object btn1: TButton
Caption = 'btn1'
TabOrder = 0
OnClick = btn1Click
end
object con1: TADOConnection
Connected = True
Provider = 'SQLOLEDB.1'
end
object tbl1: TADOTable
Connection = con1
TableName = 'A'
end
end