📄 udata.~pas
字号:
unit UData;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, UBase, Grids, DBGridEh, ExtCtrls, ComCtrls, ToolWin, ActnList,
ImgList, DB, ADODB, PrnDbgeh;
type
TFData = class(TFBase)
StatusBar: TStatusBar;
CoolBar1: TCoolBar;
ToolBar1: TToolBar;
ActionList: TActionList;
Tool_add: TToolButton;
Tool_modify: TToolButton;
Tool_save: TToolButton;
Tool_delete: TToolButton;
Tool_cancel: TToolButton;
Tool_print: TToolButton;
A_add: TAction;
A_modify: TAction;
A_save: TAction;
A_delete: TAction;
A_cancel: TAction;
A_preview: TAction;
Panel1: TPanel;
Shape1: TShape;
Splitter1: TSplitter;
Panel2: TPanel;
ADOQuery: TADOQuery;
DBGridEh: TDBGridEh;
DataSource: TDataSource;
ToolButton7: TToolButton;
Tool_prior: TToolButton;
Tool_next: TToolButton;
A_pr: TAction;
A_next: TAction;
PrintDBGridEh: TPrintDBGridEh;
A_refresh: TAction;
ToolButton1: TToolButton;
ADOQueryvxh: TIntegerField;
procedure DataSourceStateChange(Sender: TObject);
procedure A_addExecute(Sender: TObject);
procedure A_modifyExecute(Sender: TObject);
procedure A_saveExecute(Sender: TObject);
procedure A_deleteExecute(Sender: TObject);
procedure A_cancelExecute(Sender: TObject);
procedure A_previewExecute(Sender: TObject);
procedure A_prExecute(Sender: TObject);
procedure A_nextExecute(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure DBGridEhDblClick(Sender: TObject);
procedure A_refreshExecute(Sender: TObject);
procedure ADOQueryCalcFields(DataSet: TDataSet);
procedure ADOQueryAfterOpen(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FData: TFData;
implementation
uses UMain, UPublic;
{$R *.dfm}
procedure TFData.DataSourceStateChange(Sender: TObject);
begin
A_add.Enabled := (DataSource.State =dsBrowse);
A_modify.Enabled := (DataSource.State =dsBrowse);
A_save.Enabled := not (DataSource.State =dsBrowse);
A_delete.Enabled := (DataSource.State =dsBrowse);
A_pr.Enabled := (DataSource.State =dsBrowse);
A_next.Enabled := (DataSource.State =dsBrowse);
A_cancel.Enabled := not (DataSource.State =dsBrowse);
panel1.Enabled := not (DataSource.State =dsBrowse);
DBGridEh.ReadOnly := (DataSource.State =dsBrowse);
A_refresh.Enabled := (DataSource.State =dsBrowse);
end;
procedure TFData.A_addExecute(Sender: TObject);
begin
try
ADOQUery.Append;
except
end;
end;
procedure TFData.A_modifyExecute(Sender: TObject);
begin
inherited;
if AdoQUery.IsEmpty then begin
Ask('没有记录,无法修改!','提问',MB_INFO);
exit;
end;
AdoQuery.Edit;
end;
procedure TFData.A_saveExecute(Sender: TObject);
begin
inherited;
Adoquery.Post;
end;
procedure TFData.A_deleteExecute(Sender: TObject);
begin
inherited;
if AdoQUery.IsEmpty then exit;
if DBGridEh.SelectedRows.Count=0 then begin //选择的记录数为零
if Ask('真的删除当前记录吗?','警告',MB_OKCL+MB_WARN)<>1 then Exit;
end
else
if InfoBox('真的删除选择记录吗?','警告',MB_OKCL+MB_WARN)<>1 then Exit;
if DBGridEh.SelectedRows.Count=0 then
AdoQUery.Delete
else
DBGridEh.SelectedRows.Delete;
end;
procedure TFData.A_cancelExecute(Sender: TObject);
begin
inherited;
AdoQUery.Cancel;
end;
procedure TFData.A_previewExecute(Sender: TObject);
begin
inherited;
PrintDBGridEh.Preview;
end;
procedure TFData.A_prExecute(Sender: TObject);
begin
inherited;
AdoQUery.Prior;
end;
procedure TFData.A_nextExecute(Sender: TObject);
begin
inherited;
AdoQUery.Next;
end;
procedure TFData.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
Release;
end;
procedure TFData.FormCreate(Sender: TObject);
var
i: integer;
begin
for i := 0 to ComponentCount - 1 do
if (Components[i] is TADOQuery) then
if (TADOQuery(Components[i]).SQL.Text<>'') and (TADOQuery(Components[i]).Tag<>111) then
if not TADOQuery(Components[i]).Active then
try
TADOQuery(Components[i]).Open;
except
end;
end;
procedure TFData.DBGridEhDblClick(Sender: TObject);
begin
if not AdoQUery.IsEmpty then AdoQUery.Edit;
end;
procedure TFData.A_refreshExecute(Sender: TObject);
var
i: integer;
begin
for i := 0 to ComponentCount - 1 do
if (Components[i] is TADOQuery) then
if (TADOQuery(Components[i]).SQL.Text<>'') and (TADOQuery(Components[i]).Tag<>111) then
begin
if TADOQuery(Components[i]).Active then TADOQuery(Components[i]).Close;
try
TADOQuery(Components[i]).Open;
except
end;
end;
end;
procedure TFData.ADOQueryCalcFields(DataSet: TDataSet);
begin
inherited;
ADOQuery.FieldByName('vxh').AsInteger := abs(ADOQuery.RecNo);
end;
procedure TFData.ADOQueryAfterOpen(DataSet: TDataSet);
begin
StatusBar.SimpleText := '总共搜索到'+inttostr(ADOQUery.recordcount)+'条数据';
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -