• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 258
  • Last Modified:

DbiWriteBlock example

Does any one have an example using the DbiWriteBlock?
0
ronit051397
Asked:
ronit051397
  • 3
  • 2
1 Solution
 
ZifNabCommented:
The one from the DBE help file? :

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);

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('Borland International')));
        Inc(pTmpBuf, RecordSize);
      end;
    end;
    Check(DbiWriteBLock(Customer.Handle, RecordsToInsert, pRecordsBuf));
  finally
    FreeMem(pRecordsBuf, Customer.RecordSize * RecordsToInsert);

  end;
end;
0
 
ronit051397Author Commented:
How do I use DbiAppendRecord instead of DbiPutField?

0
 
ZifNabCommented:
?
DBiWriteBlock writes several records to a table.
DbiAppendRecord writes one reocrd to a table.

Both have to be filled with DbiPutField. (See also BDE help)


0
 
ronit051397Author Commented:
Thanks.
0
 
ZifNabCommented:
My pleasure. Hope you can go further on.
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now