📄 frm_ownergroup.pas
字号:
{
***************************************************************
* 说明:业主所辖组信息维护 *
* 时间:2003/02/20 *
* 作者:杨泉清 *
***************************************************************
}
unit Frm_OwnerGroup;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ModalForm, DB, ADODB, ComCtrls, Grids, DBGrids, StdCtrls,
YLabelButton, ChangeImage, Menus, ExtCtrls;
type
TOwnerGroup = class(TMyModalForm)
BtnNew: TChangeImg;
LbtnNew: TLabelB;
BtnEdit: TChangeImg;
LBtnEdit: TLabelB;
BtnDelete: TChangeImg;
LBtnDelete: TLabelB;
BtnRefresh: TChangeImg;
LBtnRefresh: TLabelB;
BtnHelp: TChangeImg;
LBtnHelp: TLabelB;
BtnFind: TChangeImg;
LBtnFind: TLabelB;
Label2: TLabel;
Edtzmc: TEdit;
DBGrid1: TDBGrid;
StatusBar1: TStatusBar;
DataSource1: TDataSource;
ADOQry: TADOQuery;
GroupBox1: TGroupBox;
ADOStp: TADOStoredProc;
Label3: TLabel;
CByzxm: TComboBox;
Label1: TLabel;
Edtzbh: TEdit;
procedure BtnNewClick(Sender: TObject);
procedure BtnEditClick(Sender: TObject);
procedure BtnDeleteClick(Sender: TObject);
procedure BtnRefreshClick(Sender: TObject);
procedure BtnFindClick(Sender: TObject);
procedure BtnHelpClick(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure EdtzbhKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormShow(Sender: TObject);
procedure CByzxmKeyPress(Sender: TObject; var Key: Char);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
procedure InitValue; //初始化窗体数据
procedure SetEditValue; //设置各显示框的数据值
function CheckValue: boolean; //检查各个输入框值的准确性
procedure ExecStore(optmode: integer); //执行存储过程
public
{ Public declarations }
end;
var
OwnerGroup: TOwnerGroup;
implementation
uses
DM_DataModal, Uglobal, UgeneralFunc;
{$R *.dfm}
procedure TOwnerGroup.InitValue;
var
Sqlstr: string;
TempQry: TAdoQuery;
begin
TempQry := TAdoQuery.Create(nil);
TempQry.Connection := WindData.AdoConn;
with tempqry do
begin
sql.Clear;
sql.Add('select yzxm from zx_s_yzxx where yzbh=''' + GsTempstr1 + '''');
open;
end;
if tempqry.RecordCount > 0 then
Cbyzxm.Text := TempQry.fieldbyname('yzxm').Value
else
Cbyzxm.Text := '';
Edtzbh.Text := '';
Edtzmc.Text := '';
Edtzbh.SetFocus;
statusbar1.Panels[2].Text := 'Insert';
if GsTempstr2 = '' then
sqlstr := 'select zx_s_yzgroup.*,zx_s_yzxx.yzxm from zx_s_yzgroup left join zx_s_yzxx'
+ ' on zx_s_yzgroup.yzbh=zx_s_yzxx.yzbh where zx_s_yzgroup.yzbh=:yzbh'
else
sqlstr := 'select zx_s_yzgroup.*,zx_s_yzxx.yzxm from zx_s_yzgroup left join zx_s_yzxx'
+ ' on zx_s_yzgroup.yzbh=zx_s_yzxx.yzbh where (zx_s_yzgroup.yzbh=:yzbh)'
+ ' and (zx_s_yzgroup.zbh like ''' + GsTempstr2 + ''')';
GsTempstr2 := '';
with AdoQry do
begin
sql.Clear;
sql.Add(SqlStr);
AdoQry.Parameters.ParamByName('yzbh').Value := GsTempstr1;
open;
end;
if AdoQry.RecordCount > 0 then
SetEditValue;
end;
procedure TOwnerGroup.SetEditValue;
begin
if AdoQry.RecordCount > 0 then
begin
Edtzbh.Text := AdoQry.fieldbyname('zbh').Value;
Edtzmc.Text := AdoQry.fieldbyname('zms').Value;
end;
end;
function TOwnerGroup.CheckValue: boolean;
begin
result := false;
if Edtzbh.Text = '' then
begin
statusbar1.Panels[1].Text := '组编号不可为空值,请输入!';
Edtzbh.SetFocus;
Edtzbh.SelectAll;
exit;
end;
if Edtzmc.Text = '' then
begin
statusbar1.Panels[1].Text := '组名称不可为空值,请输入!';
Edtzmc.SetFocus;
Edtzmc.SelectAll;
exit;
end;
Result := true;
end;
procedure TOwnerGroup.ExecStore(OptMode: integer);
begin
with AdoStp do
begin
parameters.ParamByName('@czdx').Value := 2;
parameters.ParamByName('@czfs').Value := OptMode;
parameters.ParamByName('@yzbh').Value := GsTempStr1;
Parameters.ParamByName('@zbh').Value := Edtzbh.Text;
Parameters.ParamByName('@zms').Value := Edtzmc.Text;
try
Execproc;
Statusbar1.Panels[1].Text := parameters.paramByName('@retmsg').Value;
InitValue;
except
Statusbar1.Panels[1].Text := '维护业务组信息资料时出现意外!';
end;
end;
end;
procedure TOwnerGroup.BtnNewClick(Sender: TObject);
begin
inherited;
if CheckValue then ExecStore(1);
end;
procedure TOwnerGroup.BtnEditClick(Sender: TObject);
begin
inherited;
if CheckValue then ExecStore(3);
end;
procedure TOwnerGroup.BtnDeleteClick(Sender: TObject);
var
msg: string;
begin
inherited;
msg := '请确认要删除该笔组信息!';
if showmsg(msg, 0, 2) then
begin
ExecStore(2);
end
else
statusbar1.Panels[1].Text := '删除操作已取消!';
end;
procedure TOwnerGroup.BtnRefreshClick(Sender: TObject);
begin
inherited;
InitValue;
statusbar1.Panels[1].Text := '';
end;
procedure TOwnerGroup.BtnFindClick(Sender: TObject);
var
Sqlstr: string;
iRec: integer;
begin
inherited;
irec := 0;
sqlstr := 'select zx_s_yzgroup.*,zx_s_yzxx.yzxm from zx_s_yzgroup left join zx_s_yzxx'
+ ' on zx_s_yzgroup.yzbh=zx_s_yzxx.yzbh where (zx_s_yzgroup.yzbh=:yzbh)';
if (length(trim(Edtzbh.Text)) > 0) then
begin
SqlStr := Sqlstr + ' and (zx_s_yzgroup.zbh like ''' + trim(Edtzbh.text) + ''')';
inc(irec);
end;
if (length(trim(Edtzmc.Text)) > 0) then
begin
SqlStr := Sqlstr + ' and (zx_s_yzgroup.zms like ''' + trim(Edtzmc.text) + ''')';
inc(irec);
end;
if irec = 0 then
begin
statusbar1.Panels[1].Text := '请输入查询条件';
exit;
end;
with Adoqry do
begin
sql.Clear;
sql.Add(sqlstr);
AdoQry.Parameters.ParamByName('yzbh').Value := GsTempstr1;
open;
end;
if Adoqry.RecordCount > 0 then
begin
SetEditValue;
Edtzbh.SetFocus;
edtzbh.SelectAll;
statusbar1.Panels[1].Text := '查找到' + inttostr(Adoqry.RecordCount) + '笔符合条件的记录!';
statusbar1.Panels[2].Text := 'Modify'
end
else begin
InitValue;
statusbar1.Panels[1].Text := '无符合条件的组信息!';
end;
end;
procedure TOwnerGroup.BtnHelpClick(Sender: TObject);
begin
inherited;
//帮助信息
end;
procedure TOwnerGroup.DBGrid1CellClick(Column: TColumn);
begin
inherited;
SetEditValue;
Edtzbh.SetFocus;
Edtzbh.SelectAll;
statusbar1.Panels[2].Text := 'Modify';
end;
procedure TOwnerGroup.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := Cafree;
end;
procedure TOwnerGroup.EdtzbhKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
Sqlstr: string;
begin
inherited;
if key = 13 then
begin
if Edtzbh.Text = '' then
begin
statusbar1.Panels[1].Text := '组编号不可为空值,请输入!';
exit;
end;
sqlstr := 'select zx_s_yzgroup.*,zx_s_yzxx.yzxm from zx_s_yzgroup left join zx_s_yzxx'
+ ' on zx_s_yzgroup.yzbh=zx_s_yzxx.yzbh where (zx_s_yzgroup.yzbh=:yzbh)'
+ ' and (zx_s_yzgroup.zbh like ''' + Edtzbh.Text + ''')';
with Adoqry do
begin
sql.Clear;
sql.Add(sqlstr);
AdoQry.Parameters.ParamByName('yzbh').Value := GsTempstr1;
open;
end;
if Adoqry.RecordCount > 0 then
begin
SetEditValue;
statusbar1.Panels[1].Text := '查找到' + inttostr(Adoqry.RecordCount) + '笔符合条件的记录!';
statusbar1.Panels[2].Text := 'Modify'
end;
Edtzmc.SetFocus;
edtzmc.SelectAll;
end;
end;
procedure TOwnerGroup.FormShow(Sender: TObject);
var
Sqlstr: string;
begin
inherited;
InitValue;
end;
procedure TOwnerGroup.CByzxmKeyPress(Sender: TObject; var Key: Char);
begin
inherited;
key := #0;
end;
procedure TOwnerGroup.FormDestroy(Sender: TObject);
begin
inherited;
OwnerGroup := nil;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -