InsertRecord (Delphi)
Description
This statement inserts a record to the MyCustInfo data. Note that Nulls are entered for some of the values, but are not required for missing values at the end of the array argument, i.e. after the Field3 field. InsertRecord behaves differently depending on the indexing of the table.
Code
procedure TForm1.Button1Click(Sender: TObject);
begin
Customers.InsertRecord([Edit1.Text, Edit2.Text, Null, Edit3.Text]);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Customers:= TTable.Create(Form1);
with Customers do
begin
DatabaseName := 'DBDEMOS';
TableType := ttParadox;
TableName := 'MyCustInfo';
ReadOnly:= False;
// Do not overwrite an existing table.
if (not Customers.Exists) then CreateMyTable
else
begin
if (Customers.Exists AND
(MessageDlg('MyCustInfo table already exists. Do you want to rebuild it?', mtConfirmation, [mbYes, mbNo], 0) = mrYes)) then
begin
Customers.Close;
Customers.DeleteTable;
CreateMyTable;
end;
end;
end;
DS2.DataSet:= Customers;
DBGrid2.DataSource.DataSet:= Customers;
Customers.Active:= True;
end;
procedure CreateMyTable();
var
i: Integer;
begin
// The Table component must not be active.
// First, describe the type of table and give
// it a name.
// Next, describe the fields in the table.
with Customers do
begin
with FieldDefs do
begin
Clear;
with AddFieldDef do
begin
Name := 'Field1';
DataType := ftInteger;
Required := True;
end;
with AddFieldDef do
begin
Name := 'Field2';
DataType := ftString;
Size := 30;
end;
with AddFieldDef do
begin
Name := 'Field3';
DataType := ftString;
Size := 30;
end;
with AddFieldDef do
begin
Name := 'Field4';
DataType := ftString;
Size := 30;
end;
end;
// Take out this part to remove indexing.
// Next, describe any indexes
with IndexDefs.
begin
Clear;
// The first index has no name because it is
// a Paradox primary key.
with AddIndexDef do
begin
Name := '';
Fields := 'Field1';
Options := [ixPrimary];
end;
with AddIndexDef do
begin
Name := 'Fld2Indx';
Fields := 'Field2';
Options := [ixCaseInsensitive];
end;
end;
// Call the CreateTable method to create the table.
CreateTable;
Customers.Active:= True;
for i := 1 to 20 do
Customers.AppendRecord([i*111, i*222, i*333, i*444]);
end;
end;
Uses
- Data.DB.TDataSet.InsertRecord ( fr | de | ja )