【delphi开源代码栏目提醒】:本文主要为网学会员提供fdspDemoMain.pas,希望对需要fdspDemoMain.pas网友有所帮助,学习一下!
unit fdspDemoMain;
interface
uses
SysUtils, Types, Classes, Variants, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Grids, DBGrids, ExtCtrls, DBCtrls, DB,
Mask, ComCtrls;
type
TForm1 = class(TForm)
bbtnApply: TBitBtn;
BitBtn2: TBitBtn;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
dsGetRecords: TDataSource;
DBNavigator1: TDBNavigator;
DBGrid1: TDBGrid;
Label1: TLabel;
Label2: TLabel;
edtISBN: TEdit;
edtBookName: TEdit;
mmMonitor: TMemo;
rbtnAll: TRadioButton;
rbtnChanged: TRadioButton;
rbtnKey: TRadioButton;
bbtnGetProviderFlags: TBitBtn;
bbtnClearMemo: TBitBtn;
procedure bbtnApplyClick(Sender: TObject);
procedure bbtnGetProviderFlagsClick(Sender: TObject);
procedure bbtnClearMemoClick(Sender: TObject);
private
{ Private declarations }
function GetUpdateMode : TUpdateMode;
function GetProvidrFlagsStringFormat(pf : TProviderFlags) : String;
procedure ShowISBNProviderFlags;
procedure ShowBookNameProviderFlags;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses udmdspDemo;
{$R *.dfm}
function TForm1.GetUpdateMode : TUpdateMode;
begin
if (Self.rbtnAll.Checked) then
Result := upWhereAll
else
if (Self.rbtnChanged.Checked) then
Result := upWhereChanged
else
Result := upWhereKeyOnly;
end;
procedure TForm1.bbtnApplyClick(Sender: TObject);
begin
dmdspDemo.dspBooks.UpdateMode := GetUpdateMode;
dmdspDemo.cdsBooks.ApplyUpdates(0);
end;
procedure TForm1.bbtnGetProviderFlagsClick(Sender: TObject);
begin
ShowISBNProviderFlags;
ShowBookNameProviderFlags;
end;
procedure TForm1.ShowBookNameProviderFlags;
var
aField : TField;
begin
aField := dmdspDemo.cdsBooks.FieldByName('BOOKNAME');
edtBookName.Text := GetProvidrFlagsStringFormat(aField.ProviderFlags);
end;
procedure TForm1.ShowISBNProviderFlags;
var
aField : TField;
begin
aField := dmdspDemo.cdsBooks.FieldByName('ISBN');
edtISBN.Text := GetProvidrFlagsStringFormat(aField.ProviderFlags);
end;
function TForm1.GetProvidrFlagsStringFormat(pf: TProviderFlags): String;
begin
Result := '[';
if (pfInUpdate in pf) then
Result := Result + 'pfInUpdate,';
if (pfInWhere in pf) then
Result := Result + 'pfInWhere,';
if (pfInKey in pf) then
Result := Result + 'pfInKey,';
if (pfHidden in pf) then
Result := Result + 'pfHidden,';
if (Result[Length(Result)] = ',') then
Delete(Result, Length(Result), 1);
Result := Result + ']';
end;
procedure TForm1.bbtnClearMemoClick(Sender: TObject);
begin
Self.mmMonitor.Clear;
end;
end.