• TClientDataSet的 AddIndex


    unit Unit2;
    
    interface
    
    uses
      SysUtils, Classes, DB, DBClient;
    
    type
      TDataModule2 = class(TDataModule)
        ClientDataSet1: TClientDataSet;
        DataSource1: TDataSource;
        procedure DataModuleCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      DataModule2: TDataModule2;
    
    implementation
    
    uses
      Dialogs;
    
    {$R *.dfm}
    
    procedure TDataModule2.DataModuleCreate(Sender: TObject);
    begin
      with DataModule2.ClientDataSet1 do
      begin
        FileName := 'test.cds';
        with TStringField.Create(DataModule2.ClientDataSet1) do
        begin
          FieldName := 'test';
          Name := 'ClientDataSet1test';
          DataSet := DataModule2.ClientDataSet1;
        end;
        CreateDataSet;
        with IndexDefs.AddIndexDef do //或者在设计时
        begin
          Name := 'Indextest';
          Fields := 'test';
          Options := [ixDescending];
        end;
    //    AddIndex('IndexTest', 'test', []); 不能用这个,否则下面一句 报 

    ---------------------------
    Project1
    ---------------------------
    ClientDataSet1: Index 'Indextest' not found.
    ---------------------------
    确定
    ---------------------------

        IndexName := 'Indextest';
    
        if FileExists('test.cds') then
          LoadFromFile('test.cds')
      end;
    end;
    
    end.
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, DB, DBClient, Grids, DBGrids;
    
    type
      TForm1 = class(TForm)
        Button1: TButton;
        DBGrid1: TDBGrid;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    uses
      Unit2;
    
    {$R *.dfm}
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      with DataModule2.ClientDataSet1 do
      begin
        Append;
        FieldByName('test').AsString := 'test1';
        Post;
      end;
    end;
    
    end.
    program Project1;
    
    uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1},
      Unit2 in 'Unit2.pas' {DataModule2: TDataModule};
    
    {$R *.res}
    
    begin
      Application.Initialize;
      Application.MainFormOnTaskbar := True;
      Application.CreateForm(TDataModule2, DataModule2);
      Application.CreateForm(TForm1, Form1);
      Application.Run;
    end.
  • 相关阅读:
    Android-自定义meta-data扩展数据
    (转载)【Android】ViewGroup全面分析
    小问题记录
    Gson使用 .Net中的日期序列化成带字母T的格式,Gson发序列化问题
    Android中自定义textview可以进行自体设置
    .Net版的BeanUtils
    Ksoap2-android 添加网络超时的实现
    Html5 viewport 解释
    计算两个日期之间相差的月数
    Android中的Adapter内,有getView方法
  • 原文地址:https://www.cnblogs.com/CodeGear/p/4311948.html
Copyright © 2020-2023  润新知