realtyi11.pas
来自「物业管理系统系统特点 一、 实现集中式管理 系统将集团公司、」· PAS 代码 · 共 638 行 · 第 1/2 页
PAS
638 行
// 1 关键字段不能为空
if Edit1.Text='' then
begin
showmessage('请输入编号。');
Edit1.SetFocus;
exit;
end;
if Edit2.Text='' then
begin
showmessage('请输入设备名称。');
Edit2.SetFocus;
exit;
end;
if Edit3.Text='' then
begin
showmessage('请选择设备类别。');
Edit3.SetFocus;
exit;
end;
if Edit19.Text='' then
begin
showmessage('请选择设备责任人。');
Edit19.SetFocus;
exit;
end;
edit5.Text:=mainform.StdDou2(edit5.Text);
edit6.Text:=mainform.StdDou2(edit6.Text);
edit7.Text:=mainform.StdDou2(edit7.Text);
edit10.Text:=mainform.StdDou2(edit10.Text);
edit17.Text:=mainform.StdDou2(edit17.Text);
// 2 检查所有字段的数据完整性
If Edit4.Text = '' Then Edit4.Text := '-';
If Edit5.Text = '' Then Edit5.Text := '0';
If Edit6.Text = '' Then Edit6.Text := '0';
If Edit7.Text = '' Then Edit7.Text := '-';
If Edit8.Text = '' Then Edit8.Text := '-';
If Edit9.Text = '' Then Edit9.Text := '-';
If Edit10.Text = '' Then Edit10.Text := '0';
If Edit13.Text = '' Then Edit13.Text := '-';
If Edit14.Text = '' Then Edit14.Text := '-';
If Edit15.Text = '' Then Edit15.Text := '-';
If Edit16.Text = '' Then Edit16.Text := '-';
If Edit17.Text = '' Then Edit17.Text := '0';
If Edit18.Text = '' Then Edit18.Text := '-';
If Edit20.Text = '' Then Edit20.Text := '-';
If Edit21.Text = '' Then Edit21.Text := '-';
// 3 定义数据集
Query:=TADOQuery.Create(nil);
Query.Connection:=DataModuleADO.ADOConnection1;
// 4 新增
if f_RealtyI1.bnew=true then
begin
// 一关键字段是否重复
query.SQL.Clear;
query.SQL.Add('select * from 设备档案 where 单号='''+edit1.Text+'''');
query.Open;
if query.RecordCount>0 then
begin
showmessage('单号重复');
edit1.SetFocus;
query.Close; //******************************必须
query.Free; //******************************必须
exit;
end;
// 二新增记录
//保存主表
s := 'insert into 设备档案(单号,名称,设备类别,附属设备,折旧率,现估价,原值,生产厂家,型号,预计使用年限,';
s:=s+'出厂日期,安装日期,技术参数,事故记录,存放位置,运行状态,更换次数,备品备件,设备责任人,备注,';
s:=s+'组织机构,审核) values(:s1,:s2,:s3,:s4,:s5,:s6,:s7,:s8,:s9,:s10,';
s:=s+':s11,:s12,:s13,:s14,:s15,:s16,:s17,:s18,:s19,:s20,:s21,:s22)';
query.sql.Clear ;
query.sql.add(s);
query.Parameters.ParamByName('s1').Value:=trim(Edit1.Text);
query.Parameters.ParamByName('s2').Value:=trim(Edit2.Text);
query.Parameters.ParamByName('s3').Value:=trim(Edit3.Text);
query.Parameters.ParamByName('s4').Value:=trim(Edit4.Text);
query.Parameters.ParamByName('s5').Value:=strtofloat(mainform.StdDou2(Edit5.Text));
query.Parameters.ParamByName('s6').Value:=strtofloat(mainform.StdDou2(Edit6.Text));
query.Parameters.ParamByName('s7').Value:=strtofloat(mainform.StdDou2(Edit7.Text));
query.Parameters.ParamByName('s8').Value:=trim(Edit8.Text);
query.Parameters.ParamByName('s9').Value:=trim(Edit9.Text);
query.Parameters.ParamByName('s10').Value:=trim(Edit10.Text);
query.Parameters.ParamByName('s11').Value:=datetostr(Edit11.date);
query.Parameters.ParamByName('s12').Value:=datetostr(Edit12.date);
query.Parameters.ParamByName('s13').Value:=trim(Edit13.Text);
query.Parameters.ParamByName('s14').Value:=trim(Edit14.Text);
query.Parameters.ParamByName('s15').Value:=trim(Edit15.Text);
query.Parameters.ParamByName('s16').Value:=trim(Edit16.Text);
query.Parameters.ParamByName('s17').Value:=strtofloat(mainform.StdDou2(Edit17.Text));
query.Parameters.ParamByName('s18').Value:=trim(Edit18.Text);
query.Parameters.ParamByName('s19').Value:=trim(Edit19.Text);
query.Parameters.ParamByName('s20').Value:=trim(Edit20.Text);
query.Parameters.ParamByName('s21').Value:=trim(Edit21.Text);
query.Parameters.ParamByName('s22').Value:='N';
DataModuleADO.ADOConnection1.BeginTrans;
query.execsql;
DataModuleADO.ADOConnection1.CommitTrans;
//保存从表
for i:=0 to listview1.Items.Count-1 do
begin
if listview1.Items.Item[i].Caption='' then listview1.Items.Item[i].Caption:='-';
if listview1.Items.Item[i].SubItems[0]='' then listview1.Items.Item[i].SubItems[0]:='-';
if listview1.Items.Item[i].SubItems[2]='' then listview1.Items.Item[i].SubItems[2]:='-';
listview1.Items.Item[i].SubItems[1]:=mainform.StdDou2(listview1.Items.Item[i].SubItems[1]);
s:='insert into 设备档案备品备件 (编号,名称,数量,备注,单号) values(:s1,:s2,:s3,:s4,:s5)';
query.SQL.Clear;
query.SQL.Add(s);
query.Parameters.ParamByName('s1').Value:=trim(listview1.Items.Item[i].Caption);
query.Parameters.ParamByName('s2').Value:=trim(listview1.Items.Item[i].SubItems[0]);
query.Parameters.ParamByName('s3').Value:=strtofloat(listview1.Items.Item[i].SubItems[1]);
query.Parameters.ParamByName('s4').Value:=trim(listview1.Items.Item[i].SubItems[2]);
query.Parameters.ParamByName('s5').Value:=trim(edit1.Text);
DataModuleADO.ADOConnection1.BeginTrans;
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
end;
// 三 追加数据到父窗口listview中
query.SQL.Clear;
query.SQL.Add('select * from 设备档案 where 单号='''+edit1.Text+'''');
query.Open;
if query.RecordCount>0 then
begin
with f_RealtyI1.listview1.Items.Add do
begin
caption:=query.fieldbyname('单号').Value;
subitems.Add(query.fieldbyname('名称').Value);
subitems.Add(query.fieldbyname('组织机构').Value);
subitems.Add(query.fieldbyname('折旧率').Value);
subitems.Add(query.fieldbyname('原值').Value);
subitems.Add(query.fieldbyname('预计使用年限').Value);
subitems.Add(query.fieldbyname('现估价').Value);
subitems.Add(query.fieldbyname('设备责任人').Value);
subitems.Add(query.fieldbyname('附属设备').Value);
subitems.Add(query.fieldbyname('生产厂家').Value);
subitems.Add(query.fieldbyname('出厂日期').Value);
subitems.Add(query.fieldbyname('型号').Value);
subitems.Add(query.fieldbyname('技术参数').Value);
subitems.Add(query.fieldbyname('备品备件').Value);
subitems.Add(query.fieldbyname('安装日期').Value);
subitems.Add(query.fieldbyname('存放位置').Value);
subitems.Add(query.fieldbyname('运行状态').Value);
subitems.Add(query.fieldbyname('事故记录').Value);
subitems.Add(query.fieldbyname('更换次数').Value);
subitems.Add(query.fieldbyname('审核').Value);
end;
end;
query.Close ;
query.Free ;
// 四 清空字段、设置自动编号并移动光标到第一个录入字段的输入框中
getId;
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='0';
edit6.Text:='0.00';
edit7.Text:='';
edit8.Text:='';
edit9.Text:='';
edit10.Text:='0';
edit11.date:=date;
edit12.date:=date;
edit13.Text:='';
edit14.Text:='';
edit15.Text:='';
edit16.Text:='';
edit17.Text:='0';
edit18.Text:='';
edit19.Text:='';
edit20.Text:='';
edit21.Text:='';
listview1.Items.Clear;
Edit1.SetFocus;
end;
// 5 修改
if f_RealtyI1.bnew=false then
begin
// 一更新主表
s:='update 设备档案 set 单号='''+edit1.text;
s:=s+''',名称='''+edit2.Text;
s:=s+''',设备类别='''+edit3.Text;
s:=s+''',附属设备='''+edit4.Text;
s:=s+''',折旧率='+edit5.Text;
s:=s+',现估价='+edit6.Text;
s:=s+',原值='+edit7.Text;
s:=s+',生产厂家='''+edit8.Text;
s:=s+''',型号='''+edit9.Text;
s:=s+''',预计使用年限='''+edit10.Text;
s:=s+''',出厂日期='''+datetostr(edit11.Date);
s:=s+''',安装日期='''+datetostr(edit12.Date);
s:=s+''',技术参数='''+edit13.Text;
s:=s+''',事故记录='''+edit14.Text;
s:=s+''',存放位置='''+edit15.Text;
s:=s+''',运行状态='''+edit16.Text;
s:=s+''',更换次数='+edit17.Text;
s:=s+',备品备件='''+edit18.Text;
s:=s+''',设备责任人='''+edit19.Text;
s:=s+''',备注='''+edit20.Text;
s:=s+''',组织机构='''+edit21.Text;
s:=s+''' where 单号='''+f_RealtyI1.ListView1.Selected.Caption+'''';
query.SQL.Clear;
query.SQL.Add(s);
DataModuleADO.ADOConnection1.BeginTrans;
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
// 二删除从表再重新保存从表
DataModuleADO.ADOConnection1.BeginTrans;
query.sql.clear;
Query.SQL.Text:='delete from 设备档案备品备件 where 单号='''+f_RealtyI1.listview1.Selected.Caption+'''';
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
for i:=0 to listview1.Items.Count-1 do
begin
if listview1.Items.Item[i].Caption='' then listview1.Items.Item[i].Caption:='-';
if listview1.Items.Item[i].SubItems[0]='' then listview1.Items.Item[i].SubItems[0]:='-';
if listview1.Items.Item[i].SubItems[2]='' then listview1.Items.Item[i].SubItems[2]:='-';
listview1.Items.Item[i].SubItems[1]:=mainform.StdDou2(listview1.Items.Item[i].SubItems[1]);
s:='insert into 设备档案备品备件 (编号,名称,数量,备注,单号) values(:s1,:s2,:s3,:s4,:s5)';
query.SQL.Clear;
query.SQL.Add(s);
query.Parameters.ParamByName('s1').Value:=trim(listview1.Items.Item[i].Caption);
query.Parameters.ParamByName('s2').Value:=trim(listview1.Items.Item[i].SubItems[0]);
query.Parameters.ParamByName('s3').Value:=strtofloat(listview1.Items.Item[i].SubItems[1]);
query.Parameters.ParamByName('s4').Value:=trim(listview1.Items.Item[i].SubItems[2]);
query.Parameters.ParamByName('s5').Value:=trim(edit1.Text);
DataModuleADO.ADOConnection1.BeginTrans;
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
end;
// 三 更新父窗口listview中的当前行数据
query.SQL.Clear;
query.SQL.Add('select * from 设备档案 where 单号='''+edit1.Text+'''');
query.Open;
if query.RecordCount>0 then
begin
with f_RealtyI1.listview1.Selected do
begin
caption:=query.fieldbyname('单号').Value;
subitems[0]:= query.fieldbyname('名称').Value;
subitems[1]:=query.fieldbyname('组织机构').Value;
subitems[2]:=query.fieldbyname('折旧率').Value;
subitems[3]:=query.fieldbyname('原值').Value;
subitems[4]:=query.fieldbyname('预计使用年限').Value;
subitems[5]:=query.fieldbyname('现估价').Value;
subitems[6]:=query.fieldbyname('设备责任人').Value;
subitems[7]:=query.fieldbyname('附属设备').Value;
subitems[8]:=query.fieldbyname('生产厂家').Value;
subitems[9]:=query.fieldbyname('出厂日期').Value;
subitems[10]:=query.fieldbyname('型号').Value;
subitems[11]:=query.fieldbyname('技术参数').Value;
subitems[12]:=query.fieldbyname('备品备件').Value;
subitems[13]:=query.fieldbyname('安装日期').Value;
subitems[14]:=query.fieldbyname('存放位置').Value;
subitems[15]:=query.fieldbyname('运行状态').Value;
subitems[16]:=query.fieldbyname('事故记录').Value;
subitems[17]:=query.fieldbyname('更换次数').Value;
subitems[18]:=query.fieldbyname('审核').Value;
end;
end;
query.Close ;
query.Free ;
// 四 关闭窗口
close;
end;
end;
procedure Tf_RealtyI11.Button5Click(Sender: TObject);
begin
close;
end;
procedure Tf_RealtyI11.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?