📄 basicdata.pas
字号:
unit BasicData;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, Menus, ComCtrls, ToolWin, Grids, DBGridEh, ExtCtrls, ADODB,
DB, StdCtrls, Mask, DBCtrlsEh;
type
TBasicDataForm = class(TForm)
PMprint: TPopupMenu;
Mpreview: TMenuItem;
ILinfo: TImageList;
BasicPanel: TPanel;
BasicDataDBG: TDBGridEh;
CoolBar1: TCoolBar;
Tbinfo: TToolBar;
Tbadd: TToolButton;
Tbedit: TToolButton;
Tbdel: TToolButton;
ToolButton4: TToolButton;
TBsec: TToolButton;
Tbprint: TToolButton;
TbRights: TToolButton;
Tbsave: TToolButton;
ToolButton7: TToolButton;
Tbexit: TToolButton;
qyBasicdata: TADOQuery;
DSBasicdata: TDataSource;
Panel1: TPanel;
Label6: TLabel;
dbevipno: TDBEditEh;
procedure FormShow(Sender: TObject);
procedure TbexitClick(Sender: TObject);
procedure TbaddClick(Sender: TObject);
procedure TbeditClick(Sender: TObject);
procedure TbdelClick(Sender: TObject);
procedure TBsecClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure dbevipnoKeyPress(Sender: TObject; var Key: Char);
procedure BasicDataDBGDblClick(Sender: TObject);
private
{ Private declarations }
FSql:string;
FTableId:integer;
sTablename:string;
sQueryCode,sFrName:string;
public
{ Public declarations }
property xSql:string read FSql write FSql;
property xTableId:integer read FTableId write FTableId;
end;
var
BasicDataForm: TBasicDataForm;
implementation
uses datamodule1, VIPCards, edit;
{$R *.dfm}
procedure TBasicDataForm.FormShow(Sender: TObject);
var
tmpStream:TADOBlobStream;
begin
sTableName:=dataE2.aTblname[FTableid];
Panel1.Visible:=(FTableid=101);
// read blob field
if dataE2.OpenTable('select * from queryModule where upper(ModuleCode)= :ModuleCode',sTableName) then
begin
tmpStream := TADOBlobStream.Create(DataE2.adoQuery1.FieldByName('GridColumns') as TBlobField, bmRead);
xSql:=dataE2.ADOQuery1.fieldbyname('Sql1').asstring+' '+dataE2.ADOQuery1.fieldbyname('Sql2').asstring;
sQueryCode:=dataE2.ADOQuery1.fieldbyname('queryCode').asstring;
//相对应的报表文件名
sFrName:=dataE2.ADOQuery1.fieldbyname('RptName').asstring;
dataE2.ADOQuery1.close; end
else exit;
try
tmpStream.Position :=0;
try
BasicDataDBG.Columns.LoadFromStream(tmpStream); //load columns from gridcolumns
except
BasicDataDBG.Columns.clear;
end;
finally
tmpStream.Free ;
end;
TBsec.Click;
BasicDataDBG.DataSource :=DSBasicdata ;
end;
procedure TBasicDataForm.TbexitClick(Sender: TObject);
begin
close;
end;
procedure TBasicDataForm.TbaddClick(Sender: TObject);
begin
case FTableid of
101: begin
qyBasicdata.Append;
qyBasicdata.FieldByName('CardID').AsFloat:=edtForm.GetID('CardID','VIPCards');
VIPCardsForm.showmodal;
end;
end;
end;
procedure TBasicDataForm.TbeditClick(Sender: TObject);
begin
if not qyBasicdata.Eof then
case FTableid of
101: begin
VIPCardsForm.showmodal;
qyBasicdata.Edit;
end;
end;
end;
procedure TBasicDataForm.TbdelClick(Sender: TObject);
begin
case FTableid of
101: begin
if not qyBasicdata.Eof then
if Application.MessageBox('真的要删除当前记录吗?', '提示', MB_YESNO+MB_ICONWarning)=IDYES then
qyBasicdata.Delete;
//qyBasicdata.Post;
end;
end;
end;
procedure TBasicDataForm.TBsecClick(Sender: TObject);
begin
with qyBasicdata do
begin
if active then close;
sql.clear;
sql.Text:=xSql;
if FTableid=101 then
begin
Parameters[0].Value:=dbevipno.Text+'%';
end;
open;
end;
end;
procedure TBasicDataForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
BasicDataDBG.DataSource :=nil;
end;
procedure TBasicDataForm.dbevipnoKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
TBsec.Click;
end;
procedure TBasicDataForm.BasicDataDBGDblClick(Sender: TObject);
begin
Tbedit.Click;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -