📄 udwpjgz.pas
字号:
unit uDWPJGZ;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
uInputTemp, ExtCtrls, StdCtrls, Menus, DBTables, Db, Wwdatsrc, Wwquery,
ImgList, ActnList, wwSpeedButton, wwDBNavigator, wwclearpanel, ComCtrls,
Buttons, Grids, DBGrids, Mask, DBCtrls;
type
TfrmDWPJGZ = class(TfrmInputTemp)
Panel1: TPanel;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
DBGrid1: TDBGrid;
qryTempDWID: TStringField;
qryTempND: TFloatField;
qryTempNPJGZ: TFloatField;
Label1: TLabel;
Label2: TLabel;
DBEdit2: TDBEdit;
Label3: TLabel;
DBEdit3: TDBEdit;
Label4: TLabel;
LabelDWMC: TLabel;
tabCX: TTabSheet;
Panel3: TPanel;
GroupBox3: TGroupBox;
GroupBox4: TGroupBox;
Bevel2: TBevel;
grdCX: TDBGrid;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
btnCXDWDM: TSpeedButton;
btnCXND: TSpeedButton;
btnCXNPJGZ: TSpeedButton;
edtDWDM: TEdit;
edtND: TEdit;
edtNPJGZ: TEdit;
Label8: TLabel;
lblDWDM: TLabel;
souND: TDataSource;
qryND: TQuery;
Label9: TLabel;
Label10: TLabel;
DBEdit1: TDBEdit;
DBEdit4: TDBEdit;
qryTempXNDTXBZ: TFloatField;
qryTempXNDLXBZ: TFloatField;
Label11: TLabel;
Label12: TLabel;
Panel4: TPanel;
Memo1: TMemo;
procedure FormShow(Sender: TObject);
procedure TreeView1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure actSaveExecute(Sender: TObject);
procedure actInsertExecute(Sender: TObject);
procedure btnCXNDClick(Sender: TObject);
procedure btnCXNPJGZClick(Sender: TObject);
procedure actDeleteExecute(Sender: TObject);
private
{ Private declarations }
public
procedure pTreeRefresh1;
procedure pStringListRefresh;
{ Public declarations }
end;
var
frmDWPJGZ: TfrmDWPJGZ;
lstUserInfo1, lstUserInfo2, lstUserInfo3: TstringList;
implementation
uses dMain, uCommon;
{$R *.DFM}
procedure TfrmDWPJGZ.pStringListRefresh;
var
qrytest: TQuery;
begin
qrytest := TQuery.Create(Self);
qrytest.DatabaseName := dfmMain.dbsMain.DatabaseName;
//打开查询
//建立单位代码、单位名称、ID之间的联系
qrytest.Sql.Clear;
qrytest.Sql.Add('select * from tDWXX order by DWID ');
qrytest.Open;
qrytest.First;
while not qrytest.Eof do begin
lstUserInfo1.Add(qrytest.FieldByName('DWID').AsString);
lstUserInfo2.Add(qrytest.FieldByName('DWDM').AsString);
lstUserInfo3.Add(qrytest.FieldByName('DWMC').AsString);
qrytest.Next;
end;
end;
procedure TfrmDWPJGZ.pTreeRefresh1;
var
qryDWINFO: TQuery;
// i: Integer;
RootNode: TTreeNode;
ChildNode: TTreeNode;
begin
qryDWINFO := TQuery.Create(Self);
try
qryDWINFO.DatabaseName := dfmMain.dbsMain.DatabaseName;
qryDWINFO.Close;
RootNode := TreeView1.Items.Add(nil, '有色');
RootNode.ImageIndex := 0;
RootNode.SelectedIndex := 1;
//添加单位项
qryDWINFO.SQL.Clear;
qryDWINFO.SQL.Add('select D.dwmc,D.dwid,D.sshy,DM.DMMC from tDWXX D,tDMB DM');
qryDWINFO.SQL.Add('where D.sshy=DM.dm and DM.ZDBZ=''SSHY'' and DM.DMMC=''有色''');
qryDWINFO.Open;
while not qryDWINFO.Eof do
begin
ChildNode := TreeView1.Items.AddChildObject(
RootNode,
qryDWINFO.FieldByName('DWMC').AsString,
Pointer(qryDWINFO.FieldByName('dwid').AsInteger));
ChildNode.ImageIndex := 2;
ChildNode.SelectedIndex := 3;
qryDWINFO.Next;
end;
finally
qryDWINFO.Close;
qryDWINFO.Free; ;
end;
TreeView1.FullExpand;
//选取第一个节点为主节点
TreeView1.Items[0].Selected := True;
end;
procedure TfrmDWPJGZ.FormShow(Sender: TObject);
begin
inherited;
//显示行业单位表
pStringListRefresh;
pTreeRefresh1;
TreeView1.FullExpand;
//选取第一个节点为主节点
TreeView1.Items[0].Selected := True;
qryTemp.Sql.Clear;
qryTemp.Sql.Add('select * from tDWPJGZ where DWID=''' +
IntToStr(Integer(TreeView1.Selected.Data))
+ '''order by DWID ');
qryTemp.Open;
end;
procedure TfrmDWPJGZ.TreeView1Click(Sender: TObject);
begin
inherited;
if TreeView1.Selected.Level <> 0 then
begin
Screen.Cursor := crSQLWait;
qryTemp.Sql.Clear;
qryTemp.Sql.Add('select * from tDWPJGZ where DWID=''' +
IntToStr(Integer(TreeView1.Selected.Data))
+ '''order by DWID ');
qryTemp.Open;
// qryTemp.Locate('DWID', IntToStr(Integer(TreeView1.Selected.Data)), []);
Screen.Cursor := crDefault;
LabelDWMC.Caption :=
lstUserInfo3[lstUserInfo1.IndexOf(IntToStr(Integer(TreeView1.Selected.Data)))];
lblDWDM.Caption :=
lstUserInfo2[lstUserInfo1.IndexOf(IntToStr(Integer(TreeView1.Selected.Data)))];
end;
end;
procedure TfrmDWPJGZ.FormCreate(Sender: TObject);
begin
inherited;
sTitleName := '单位历年平均工资增长率';
lstUserInfo1 := TstringList.Create;
lstUserInfo2 := TstringList.Create;
lstUserInfo3 := TstringList.Create;
end;
procedure TfrmDWPJGZ.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
lstUserInfo1.Free;
lstUserInfo2.Free;
lstUserInfo3.Free;
end;
procedure TfrmDWPJGZ.actSaveExecute(Sender: TObject);
var
DWIDVALUE: string; //存储单位ID
begin
if DBEdit2.Text = '' then
begin
gfShowError('请输入年度');
DBEdit2.SetFocus;
Abort;
end;
if DBEdit3.Text = '' then
begin
gfShowError('请输入年平均工资增长率');
DBEdit3.SetFocus;
Abort;
end;
if qryTemp.State = dsInsert then
begin
DWIDVALUE := IntToStr(Integer(TreeView1.Selected.Data));
qryND.sql.Clear;
qryND.Sql.Add('select * from tDWPJGZ where ND='''
+ DBEdit2.Text + ''' and DWID=''' + DWIDVALUE + '''order by ND');
qryND.Open;
if not (qryND.RecordCount = 0) then
begin
gfshowok('该年度已经存在' + #13 + '请重新输入');
Abort;
end;
end;
{
qrytemp.FieldByName('ND').AsString := DBEdit2.Text;
qrytemp.FieldByName('NPJGZ').AsString := DBEdit3.Text;
//无用的代码
//王锡平 20010308
}
// inherited;
with qrytemp do
begin
dfmMain.dbsMain.StartTransaction;
try
Post;
ApplyUpdates; {更新数据};
dfmMain.dbsMain.Commit; {若成功,提交结果};
except
dfmMain.dbsMain.Rollback; {失败,恢复};
raise; {避免调用CommitUpdates}
end;
CommitUpdates; {成功后清除缓冲}
pStringListRefresh;
end;
end;
procedure TfrmDWPJGZ.actInsertExecute(Sender: TObject);
begin
if lblDWDM.Caption = '' then
gfshowok('请选择单位')
else
begin
inherited;
qrytemp.FieldByName('DWID').AsString :=
IntToStr(Integer(TreeView1.Selected.Data));
end;
end;
procedure TfrmDWPJGZ.btnCXNDClick(Sender: TObject);
begin
inherited;
if (edtND.Text = '') then
ShowMessage(' 请输入查询年度' + #13 + ' 查看帮助可获得更多信息')
else
begin
qrytemp.Sql.Clear;
qrytemp.Sql.Add('select * from tDWPJGZ where ND like''' +
'%' + edtND.Text + '%' + ''' order by ND');
qrytemp.Open;
end;
end;
procedure TfrmDWPJGZ.btnCXNPJGZClick(Sender: TObject);
begin
inherited;
if (edtNPJGZ.Text = '') then
ShowMessage(' 请输入查询条件' + #13 + ' 查看帮助可获得更多信息')
else
begin
qrytemp.Sql.Clear;
qrytemp.Sql.Add('select * from tDWPJGZ where NPJGZ like''' +
'%' + edtNPJGZ.Text + '%' + ''' order by ND');
qrytemp.Open;
end;
end;
procedure TfrmDWPJGZ.actDeleteExecute(Sender: TObject);
begin
// inherited;
if pagTemp.ActivePageIndex = 0 then
begin
//不能删除空表记录
if qryTemp.RecordCount = 0 then
Abort;
if gfShowQuestion('是否删除当前记录?') = IDOK then
begin
qryTemp.Delete;
dfmMain.dbsMain.StartTransaction;
try
if not (dfmMain.dbsMain.IsSQLBased) and
not (dfmMain.dbsMain.TransIsolation = tiDirtyRead) then
dfmMain.dbsMain.TransIsolation := tiDirtyRead;
qryTemp.ApplyUpdates; { 尝试更新数据}
dfmMain.dbsMain.Commit; {提交更新数据}
except
dfmMain.dbsMain.Rollback; {失败后恢复}
raise; {避免调用CommitUpdates }
end;
qryTemp.CommitUpdates; //成功后清除缓寸
pStringListRefresh; // 刷新列表
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -