⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ufrm_client.pas

📁 此案例是多层分布式应用程序,需要首先执行服务器应用程序prdmdemo3.exe
💻 PAS
字号:
unit ufrm_client;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, StdCtrls, Buttons, DB, DBClient, MConnect;

type
  TForm1 = class(TForm)
    DCOMConnection1: TDCOMConnection;
    ClientDataSet1: TClientDataSet;
    DataSource1: TDataSource;
    StaticText1: TStaticText;
    BitBtn1: TBitBtn;
    Edit2: TEdit;
    Edit3: TEdit;
    StaticText3: TStaticText;
    BitBtn2: TBitBtn;
    Edit4: TEdit;
    StaticText4: TStaticText;
    ComboBox1: TComboBox;
    BitBtn3: TBitBtn;
    Edit5: TEdit;
    StaticText5: TStaticText;
    StaticText7: TStaticText;
    DBGrid1: TDBGrid;
    ClientDataSet2: TClientDataSet;
    DataSource2: TDataSource;
    ClientDataSet3: TClientDataSet;
    DataSource3: TDataSource;
    ComboBox2: TComboBox;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
var lstart,lend:integer;
    llength,lposition:integer;
    firstname,lastname:string;
begin
  lstart:=gettickcount;
  lposition:=pos(',',combobox2.Text);
  llength:=length(combobox2.text);
  lastname:=copy(combobox2.Text,0,lposition-1);
  firstname:=copy(combobox2.Text,lposition+1,llength-lposition);
  if not clientdataset1.Active then
  clientdataset1.Active:=true;
  clientdataset1.Locate('firstname;lastname',vararrayof([firstname,lastname]),[]);
  lend:=gettickcount;
  dbgrid1.DataSource:=datasource1;
  edit2.Text:=floattostr((lend-lstart)/1000.0)+'秒';
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
var lstart,lend:integer;
begin
  lstart:=gettickcount;
  clientdataset2.Active:=false;
  clientdataset2.Close;
  clientdataset2.CommandText:=edit3.Text;
  clientdataset2.Open;
  dbgrid1.DataSource:=datasource2;
IF clientdataset2.RecordCount=0 then
showmessage('"'+edit3.Text+'" 不是一个合法的SQL语句!');
lend:=gettickcount;
edit4.Text:=floattostr((lend-lstart)/1000.0)+'秒';
end;

procedure TForm1.BitBtn3Click(Sender: TObject);
var lstart,lend:integer;
    llength,lposition:integer;
    firstname,lastname:string;
begin
   lstart:=gettickcount;
   lposition:=pos(',',combobox1.Text);
   llength:=length(combobox1.text);
   lastname:=copy(combobox1.Text,0,lposition-1);
   firstname:=copy(combobox1.Text,lposition+1,llength-lposition);
   clientdataset3.Active:=true;
   CLIentdataset3.Close;
   clientdataset3.FetchParams;
   clientdataset3.Params[0].Value:=firstname;
    clientdataset3.Params[1].Value:=lastname;
   clientdataset3.Open;
   dbgrid1.DataSource:=datasource3;
   lend:=gettickcount;
   edit5.Text:=floattostr((lend-lstart)/1000.0)+'秒';
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
clientdataset1.Active:=true;
while not clientdataset1.Eof do
begin
  combobox1.Items.Add(clientdataset1.fieldbyname('lastname').Value+','+clientdataset1.fieldbyname('firstname').Value);
  combobox2.Items.Add(clientdataset1.fieldbyname('lastname').Value+','+clientdataset1.fieldbyname('firstname').Value);
  clientdataset1.Next;
end;
combobox1.Text:=combobox1.Items[0];
combobox2.Text:=combobox2.Items[0];
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -