Delphi Examples: DbiWriteBlock

<< Click to Display Table of Contents >>

Navigation:  »No topics above this level«

Delphi Examples: DbiWriteBlock

Return to chapter overview

Add multiple records to a table

This example assumes that the Customer TTable object is the Customer.DB table.

It uses the following input:

 fDbiWriteBlock(Table1; NumRecs);

 

The procedure is:

procedure fDbiWriteBlock(Customer: TTable; var RecordsToInsert: Longint);

var

 pRecordsBuf, pTmpBuf: pBYTE;

 Rec: Longint;

 CustNo: Double;

begin

 Randomize;

 GetMem(pRecordsBuf, Customer.RecordSize * RecordsToInsert);

 pTmpBuf := pRecordsBuf;

try

  for Rec := 1 to RecordsToInsert do begin

     CustNo := Random(1000000);

     // Iterate through the entire record buffer filling each

     // individual record with information

    with Customer do begin

       Check(DbiInitRecord(Handle, pTmpBuf));

       Check(DbiPutField(Handle, FieldByName('CustNo').Index + 1, pTmpBuf,

         pBYTE(@CustNo)));

       Check(DbiPutField(Handle, FieldByName('Company').Index + 1, pTmpBuf,

         PChar('INPRISE Corporation')));

       Inc(pTmpBuf, RecordSize);

    end;

  end;

   Check(DbiWriteBLock(Customer.Handle, RecordsToInsert, pRecordsBuf));

finally

   FreeMem(pRecordsBuf, Customer.RecordSize * RecordsToInsert);

end;

end;