⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 realtyg53a.pas

📁 物业管理系统系统特点 一、 实现集中式管理 系统将集团公司、各分公司、各物业管理处连接到一起
💻 PAS
📖 第 1 页 / 共 2 页
字号:
    //  2 检查所有字段的数据完整性
    edit6.Text:=mainform.StdInt(edit6.Text);

    If Edit4.Text = '' Then Edit4.Text := '-';
    If Edit6.Text = '' Then Edit6.Text := '-';
    If Edit9.Text = '' Then Edit9.Text := '-';
    If Edit10.Text = '' Then Edit10.Text := '-';

    //  3 定义数据集
    Query:=TADOQuery.Create(nil);
    Query.Connection:=DataModuleADO.ADOConnection1;
    Query1:=TADOQuery.Create(nil);
    Query1.Connection:=DataModuleADO.ADOConnection1;
    Query2:=TADOQuery.Create(nil);
    Query2.Connection:=DataModuleADO.ADOConnection1;


    // 4 新增
    if f_RealtyG53.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+'备注,操作员,修订,组织机构) values(:s1,:s2,:s3,:s4,:s5,:s6,:s7,:s8,:s9,:s10,:s11,:s12,:s13)';
        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:=trim(Edit5.Text);
        query.Parameters.ParamByName('s6').Value:=trim(Edit6.text);
        query.Parameters.ParamByName('s7').Value:=trim(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:=trim(Edit11.text);
        query.Parameters.ParamByName('s12').Value:=trim(Edit12.Text);
        query.Parameters.ParamByName('s13').Value:=ss;

        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[1]='' then listview1.Items.Item[i].SubItems[1]:='-';
            listview1.Items.Item[i].SubItems[0]:=mainform.StdDou2(listview1.Items.Item[i].SubItems[0]);

            s:='insert into 消防片区消防器材配备 (消防器材,数量,备注,单号) values(:s1,:s2,:s3,:s4)';
            query.SQL.Clear;
            query.SQL.Add(s);
            query.Parameters.ParamByName('s1').Value:=trim(listview1.Items.Item[i].Caption);
            query.Parameters.ParamByName('s2').Value:=strtofloat(listview1.Items.Item[i].SubItems[0]);
            query.Parameters.ParamByName('s3').Value:=trim(listview1.Items.Item[i].SubItems[1]);
            query.Parameters.ParamByName('s4').Value:=trim(edit1.Text);

            DataModuleADO.ADOConnection1.BeginTrans;
            query.ExecSQL;
            DataModuleADO.ADOConnection1.CommitTrans;
        end;
        showmessage('保存成功-');


        //   三 追加数据到父窗口listview中
        query1.sql.clear;
        query1.SQL.Add('select * from 消防片区消防器材配备 where 单号='''+edit1.Text+'''');
        query1.Open;
        while not query1.eof do
        begin
            query.SQL.Clear;
            query.SQL.Add('select * from 消防片区 where 单号 ='''+query1.fieldbyname('单号').Value+'''') ;
            query.Open;
            if query.RecordCount>0 then
            begin
                s1:= query.fieldbyname('名称').Value;
                s2:= query.fieldbyname('责任人').Value;
                s9:= query.fieldbyname('器材保养人').Value;
                s10:= query.fieldbyname('组织机构').Value;
            end;

            query.sql.clear;
            query.sql.add('select * from 消防器材 where 编号='''+ query1.fieldbyname('消防器材').value+'''');
            query.Open;
            if query.RecordCount>0 then
            begin
                s3:=query.fieldbyname('名称').Value;
                s4:=query.fieldbyname('类型').Value;
                s5:=query.fieldbyname('出厂日期').Value;
                s6:=query.fieldbyname('有效期').Value;
                s7:=query.fieldbyname('型号').Value;
                s8:=query.fieldbyname('器材状态').Value;
            end;

            query.SQL.clear;
            query.SQL.add('select * from 组织机构 where 编号='''+s10+'''');
            query.Open;
            if query.recordcount>0 then
            begin
                s10:=query.fieldbyname('组织机构类别').value;
                s11:=query.fieldbyname('名称').value;
            end;

            with f_RealtyG53.listview1.Items.Add do
            begin
                caption:=s1;
                subitems.Add(s2);
                subitems.Add(query1.fieldbyname('消防器材').Value);
                subitems.Add(s3);
                subitems.Add(query1.fieldbyname('数量').Value);
                subitems.Add(s4);
                subitems.Add(s5);
                subitems.Add(s6);
                subitems.Add(s7);
                subitems.Add(s8);
                subitems.Add(s9);
                subitems.Add(s10);
                subitems.Add(s11);
                subitems.Add(query1.fieldbyname('单号').Value);
            end;

            query1.next;
        end;
        query2.Close;
        query2.Free;
        query1.Close;
        query1.Free;
        query.Close;
        query.Free;


        //   四 清空字段、设置自动编号并移动光标到第一个录入字段的输入框中
        getId;
        edit2.Text:='';
        edit3.text:='';
        edit4.Text:='';
        edit5.Text:='';
        edit6.text:='';
        edit7.ItemIndex:=edit7.Items.IndexOf('');
        edit8.Text:='';
        edit9.Text:='';
        edit10.Text:='';
        edit12.Text:='';

        listview1.Items.Clear;

        Edit1.SetFocus;
    end;



    //  5 修改
    if f_RealtyG53.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+''',修订='''+edit12.Text;
          s:=s+''',组织机构='''+ss;
          s:=s+''' where 单号='''+f_RealtyG53.ListView1.Selected.subitems[12]+'''';
          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_RealtyG53.listview1.Selected.subitems[12]+'''';
        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[1]='' then listview1.Items.Item[i].SubItems[1]:='-';
            listview1.Items.Item[i].SubItems[0]:=mainform.StdDou2(listview1.Items.Item[i].SubItems[0]);


            s:='insert into 消防片区消防器材配备 (消防器材,数量,备注,单号) values(:s1,:s2,:s3,:s4)';
            query.SQL.Clear;
            query.SQL.Add(s);
            query.Parameters.ParamByName('s1').Value:=trim(listview1.Items.Item[i].Caption);
            query.Parameters.ParamByName('s2').Value:=strtofloat(listview1.Items.Item[i].SubItems[0]);
            query.Parameters.ParamByName('s3').Value:=trim(listview1.Items.Item[i].SubItems[1]);
            query.Parameters.ParamByName('s4').Value:=trim(edit1.Text);

            DataModuleADO.ADOConnection1.BeginTrans;
            query.ExecSQL;
            DataModuleADO.ADOConnection1.CommitTrans;
        end;


        //   三 更新父窗口listview中的当前行数据
        query1.SQL.Clear;
        query1.SQL.Add('select * from 消防片区消防器材配备 where 单号='''+edit1.Text+'''');
        query1.Open;
        while not query1.eof do
        begin
            query.SQL.Clear;
            query.SQL.Add('select * from 消防片区 where 单号 ='''+query1.fieldbyname('单号').Value+'''') ;
            query.Open;
            if query.RecordCount>0 then
            begin
                s1:= query.fieldbyname('名称').Value;
                s2:= query.fieldbyname('责任人').Value;
                s9:= query.fieldbyname('器材保养人').Value;
                s10:= query.fieldbyname('组织机构').Value;
            end;

            query.sql.clear;
            query.sql.add('select * from 消防器材 where 编号='''+ query1.fieldbyname('消防器材').value+'''');
            query.Open;
            if query.RecordCount>0 then
            begin
                s3:=query.fieldbyname('名称').Value;
                s4:=query.fieldbyname('类型').Value;
                s5:=query.fieldbyname('出厂日期').Value;
                s6:=query.fieldbyname('有效期').Value;
                s7:=query.fieldbyname('型号').Value;
                s8:=query.fieldbyname('器材状态').Value;
            end;

            query.SQL.clear;
            query.SQL.add('select * from 组织机构 where 编号='''+s10+'''');
            query.Open;
            if query.recordcount>0 then
            begin
                s10:=query.fieldbyname('组织机构类别').value;
                s11:=query.fieldbyname('名称').value;
            end;

            with f_RealtyG53.listview1.Selected do
            begin
                caption:=s1;
                subitems[0]:=s2;
                subitems[1]:=query1.fieldbyname('消防器材').Value;
                subitems[2]:=s3;
                subitems[3]:=query1.fieldbyname('数量').Value;
                subitems[4]:=s4;
                subitems[5]:=s5;
                subitems[6]:=s6;
                subitems[7]:=s7;
                subitems[8]:=s8;
                subitems[9]:=s9;
                subitems[10]:=s10;
                subitems[11]:=s11;
                subitems[12]:=query1.fieldbyname('单号').Value;
            end;

            query1.Next;
        end;
        query2.Close;
        query2.Free;
        query1.Close;
        query1.Free;
        query.Close;
        query.Free;


        //   四 关闭窗口
        close;
    end;

end;

procedure Tf_RealtyG53A.Button5Click(Sender: TObject);
begin
    close;
end;

procedure Tf_RealtyG53A.Button3Click(Sender: TObject);
begin
    f_realtyI11C:=Tf_realtyI11C.Create(self);
    f_RealtyI11C.button1.Visible:=true;
    f_realtyI11C.ShowModal;

    if  f_realtyI11C.bOk=true then
    begin
        edit13.Text:=f_realtyI11C.ListView1.Selected.Caption+'--'+f_realtyI11C.ListView1.Selected.SubItems[0];
    end;
end;

procedure Tf_RealtyG53A.edit7Select(Sender: TObject);
begin
    if edit7.Text='新增消防等级' then
    begin
        mainform.t1:='消防等级';
        f_Car4s931:=Tf_Car4s931.Create(self);
        f_Car4s931.showmodal;

        if f_Car4s931.bOK=true then
        begin
           edit7.Items.Add(mainform.t1);
           edit7.ItemIndex:=edit7.Items.IndexOf(mainform.t1);
        end
        else edit7.ItemIndex:=edit7.Items.IndexOf('');
     end;
end;

procedure Tf_RealtyG53A.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
    Action := caFree;
end;

end.


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -