首页 > 其他 > 详细

TClientDataSet的 AddIndex

时间:2015-03-03 22:04:32      阅读:159      评论:0      收藏:0      [点我收藏+]
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.

 

TClientDataSet的 AddIndex

原文:http://www.cnblogs.com/CodeGear/p/4311948.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!