关于TFDMemtable的使用场景【1】提供快速查询

建立内存表非常easy。看代码:

begin
    createZipTable;
    FillZipCodeData;
end
procdure CreateZipCodeTable;
var
   Defs, aField : TFieldDefs;
   anIndex : TIndexDef;
begin
   Defs := fdmZipCodes.FieldDefs;//zipCode表
   aField := Defs.AddFieldDef;
   aField.DataType := ftInteger;
   aField.Size := 10;
   aField.Name := '邮政编码';

   aField := Defs.AddFieldDef;
   aField.DataType := ftWideString;
   aField.Size := 30;
   aField.Name := '区名';

   anIndex := fmtZipCodes.IndexDefs.AddIndexDef;
   anIndex.Fields := '邮政编码';
   anIndex.Name := 'pnIndex';

   fmtZipCodes.CreateDataSet;   

end;;

至此一个表的字段和索引完成了。(TFDConnection中数据库目录文件,如果不存在就会自动创建数据库,然后连接)

接下来增加修改数据和Tclientdataset一样。

再看调出数据到TListViewItem的demo

procedure DisplayZipCldes;
var
   alv : TListViewItem;
begin
   lvZipCodes.Items.Clear;
   fdmtZipCodes.First;
   while (not fdmZipCodes.Eof) do
      begin
         alv := lvZipCodes.ItemsAdd;
         alv.Detail := fdmZipCodes.fieldByName('邮政编码').AsString;
         alv.Text := fdmZipCodes.fieldByName('区名').AsString;
         fdmZipCodes.Next;
      end;

   fdmZipCodes.First;
ens;
原文地址:https://www.cnblogs.com/usegear/p/15363712.html