disqlite3_world_clientdataset_form.pas
来自「DELPHI 访问SQLITE3 数据库的VCL控件」· PAS 代码 · 共 121 行
PAS
121 行
{ Visit the DISQLite3 Internet site for latest information and updates:
http://www.yunqa.de/delphi/
Copyright (c) 2005-2007 Ralf Junker, The Delphi Inspiration <delphi@yunqa.de>
------------------------------------------------------------------------------ }
unit DISQLite3_World_ClientDataSet_Form;
{$I DI.inc}
interface
uses
Classes, DB, Grids, DBGrids, StdCtrls, DBCtrls, Mask, Controls, ExtCtrls,
ComCtrls, Provider, DBClient, ActnList, ToolWin,
DISQLite3Database, DISQLite3DataSet,
DISQLite3_World_Common;
type
TfrmWorld = class(TfrmWorld_Common)
DBGrid: TDBGrid;
Splitter: TSplitter;
ClientDataSet: TClientDataSet;
DataSetProvider: TDataSetProvider;
ToolBar: TToolBar;
btnUpdate: TToolButton;
btnCancel: TToolButton;
ActionList: TActionList;
actApplyUpdates: TAction;
actCancelUpdates: TAction;
btnPasteFlag: TButton;
procedure FormCreate(Sender: TObject);
procedure btnPasteFlagClick(Sender: TObject);
procedure actUpdates_Update(Sender: TObject);
procedure actCancelUpdatesExecute(Sender: TObject);
procedure actApplyUpdatesExecute(Sender: TObject);
procedure ClientDataSet_Modified(DataSet: TDataSet);
procedure DISQLite3UniDirQueryInitFieldDef(
const AColumn: TDISQLite3Column; const AFieldDef: TFieldDef);
end;
var
frmWorld: TfrmWorld;
implementation
uses
SysUtils;
{$R *.dfm}
procedure TfrmWorld.FormCreate(Sender: TObject);
begin
inherited;
ClientDataSet.Open;
end;
//------------------------------------------------------------------------------
procedure TfrmWorld.btnPasteFlagClick(Sender: TObject);
begin
imgFlag.PasteFromClipboard;
end;
//------------------------------------------------------------------------------
procedure TfrmWorld.actUpdates_Update(Sender: TObject);
begin
(Sender as TAction).Enabled := ClientDataSet.ChangeCount > 0;
end;
//------------------------------------------------------------------------------
procedure TfrmWorld.actCancelUpdatesExecute(Sender: TObject);
begin
ClientDataSet.CancelUpdates;
StatusBar.SimpleText := '';
end;
//------------------------------------------------------------------------------
procedure TfrmWorld.actApplyUpdatesExecute(Sender: TObject);
var
i: Integer;
begin
i := ClientDataSet.ApplyUpdates(-1);
if i > 0 then
StatusBar.SimpleText := IntToStr(i) + ' Error(s) during update'
else
StatusBar.SimpleText := 'Update(s) OK';
end;
//------------------------------------------------------------------------------
procedure TfrmWorld.ClientDataSet_Modified(DataSet: TDataSet);
begin
if ClientDataSet.ChangeCount = 0 then
StatusBar.SimpleText := ''
else
StatusBar.SimpleText := IntToStr(ClientDataSet.ChangeCount) + ' Update(s) pending';
end;
procedure TfrmWorld.DISQLite3UniDirQueryInitFieldDef(
const AColumn: TDISQLite3Column; const AFieldDef: TFieldDef);
begin
inherited;
{$IFNDEF COMPILER_5_UP}
{ TClientDataSet in D4 does not support WideStrings. }
if AFieldDef.DataType = ftWideString then
begin
AFieldDef.DataType := ftString;
AFieldDef.Size := 64;
end;
{$ENDIF !COMPILER_4_UP}
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?