bestlong 怕失憶論壇's Archiver

bestlong 發表於 2012-9-12 13:48

理解與使用 TClientDataSet

TClientDataSet 是一個功能強大的類別, 使用記憶體來操作資料, 不過需要用到 midas.dll[code]
//在 Form 上新增 TClientDataSet 元件後更名為 cdsM
//動態建立欄位結構可以用下列程式碼
procedure TForm1.FormCreate(Sender: TObject);
begin
  with cdsM.FieldDefs do
  begin
    Clear;
    Add('Part_num', ftString, 4, False); //料號
    Add('Part_qty', ftInteger, 0, False); //數量
  end;
  with cdsM.Indexdefs do
  begin
    Clear;
    Add('PK', 'Partl_num', [ixPrimary, ixUnique]);
  end;
  cdsM.IndexName := 'PK';
  cdsM.CreateDataSet;
  cdsM.FieldByName('Part_num').DisplayLabel := '料號';
  cdsM.FieldByName('Part_qty').DisplayLabel := '數量';
end;
[/code][code]
  //就可以用操作 Table 方式加入資料
  cdsM.Append;
  cdsM.FieldByName('Part_num').AsString := '0003';
  cdsM.FieldByName('Part_qty').AsInteger := 30;
  cdsM.Post;
  cdsM.Append;
  cdsM.FieldByName('Part_num').AsString := '0004';
  cdsM.FieldByName('Part_qty').AsInteger := 40;
  cdsM.Post;
  cdsM.Append;
  cdsM.FieldByName('Part_num').AsString := '0001';
  cdsM.FieldByName('Part_qty').AsInteger := 10;
  cdsM.Post;
  cdsM.Append;
  cdsM.FieldByName('Part_num').AsString := '0002';
  cdsM.FieldByName('Part_qty').AsInteger := 20;
  cdsM.Post;
[/code]
頁: [1]

Powered by Discuz! X1.5 Archiver   © 2001-2010 Comsenz Inc.