u_adddata.pas

来自「一个电力企业的后台管理程序」· PAS 代码 · 共 415 行 · 第 1/2 页

PAS
415
字号
           ListItem.Caption := Fields[0].AsString ;
           For ii :=1 to iFldCount-1 do
                if UpperCase(Fields[ii].FieldName) ='SEX' then
                begin
                    if Fields[ii].AsString='M' then ListItem.SubItems.Add('男')
                    else if Fields[ii].AsString='F' then ListItem.SubItems.Add('女')
                    else ListItem.SubItems.Add('');
                end
                else ListItem.SubItems.Add(Fields[ii].AsString);
       end;
       Close;
    end;

end;


procedure TFrm_EditData.btn_ConfirmClick(Sender: TObject);
begin
   Case Ntbk_Type.PageIndex of   {"0":组织机构;"1":人员设置}
      0:
        begin
           if sEditId ='' then
           begin
              With Frm_Gwsz.Qry_pub1 do
              begin
                 Close;
                 Sql.Clear;
                 Sql.Add('Select OrganName From DFWF_Organ Where OrganName =:p1');
                 ParamByName('p1').AsString := edt_OrganName.Text ;
                 Open;
                 if Not IsEmpty then
                 Begin
                     MessageBox(0,'组织机构名称重复!','提示...'
                             ,MB_ICONEXCLAMATION+MB_OK);
                    Close;
                    edt_OrganName.SetFocus;
                    Exit;
                 end;
                 Close;
                 Sql.Clear ;
                 Sql.Add('Insert Into DFWF_Organ');
                 Sql.Add('Values(:p1,:p2,:p3,:p4)');
                 ParamByName('p1').AsString := edt_OrganName.Text;
                 ParamByName('p2').AsString := Mm_OrganProp.Text ;
                 ParamByName('p3').AsDateTime := DTP_OrganCreate.DateTime ;
                 ParamByName('p4').AsString := Mm_OrganNote.Text ;
                 ExecSql;
                 Close;
              end;
              AddItem('Select * From DFWF_Organ Where OrganName =:p1',edt_OrganName.Text,'0');
           end
           else
           begin
              if sEditId <> edt_OrganName.Text then
              begin
                  With Frm_Gwsz.Qry_pub1 do
                  begin
                     Close;
                     Sql.Clear;
                     Sql.Add('Select OrganName From DFWF_Organ Where OrganName =:p1');
                     ParamByName('p1').AsString := edt_OrganName.Text ;
                     Open;
                     if Not IsEmpty then
                     Begin
                         MessageBox(0,'组织机构名称重复!','提示...'
                                 ,MB_ICONEXCLAMATION+MB_OK);
                        Close;
                        edt_OrganName.SetFocus;
                        Exit;
                     end;
                     Close;
                     Sql.Clear ;
                     Sql.Add ('Update DFWF_Position ');
                     Sql.Add ('Set Organ =:p1');
                     Sql.Add ('Where Organ =:p2');
                     ParamByName('p1').AsString := edt_OrganName.Text ;
                     ParamByName('p2').AsString := sEditId;
                     ExecSql;
                     Close;
                  end;
              end;
              With Frm_Gwsz.Qry_pub1 do
              begin
                  Close;
                  Sql.Clear;
                  Sql.Add ('Update DFWF_Organ');
                  Sql.Add ('Set OrganName =:p1,Property =:p2,CreateTime =:p3,Note =:p4');
                  Sql.Add ('Where OrganName =:p5');
                  ParamByName('p1').AsString := edt_OrganName.Text;
                  ParamByName('p2').AsString := Mm_OrganProp.Text ;
                  ParamByName('p3').AsDateTime := DTP_OrganCreate.DateTime ;
                  ParamByName('p4').AsString := Mm_OrganNote.Text ;
                  ParamByName('p5').AsString := sEditId;
                  ExecSql;
                  Close;
              end;
              AddItem('Select * From DFWF_Organ Where OrganName =:p1',edt_OrganName.Text,'1');
              Close;
           end;
        end;
      1:
        begin
           if sEditId ='' then
           begin
              With Frm_Gwsz.Qry_pub1 do
              begin
                 Close;
                 Sql.Clear;
                 Sql.Add('Select WorkId From DFWF_People Where WorkId =:p1');
                 ParamByName('p1').AsString := edt_WorkId.Text ;
                 Open;
                 if Not IsEmpty then
                 Begin
                     MessageBox(0,'工号重复!','提示...'
                             ,MB_ICONEXCLAMATION+MB_OK);
                    Close;
                    edt_WorkId.SetFocus ;
                    Exit;
                 end;
                 Close;
                 Sql.Clear ;
                 Sql.Add('Insert Into DFWF_People(WorkId,Name,Sex,PassWord,Property,CreateTime,Note,Phone1,Phone2,Phone3,AcdGroup,SkillLevel)');
                 Sql.Add('Values(:p1,:p2,:p3,:p4,:p5,:p6,:p7,:p8,:p9,:p10,:p13,:p14)');
                 ParamByName('p1').AsString := edt_WorkId.Text;
                 ParamByName('p2').AsString := edt_PersonName.Text ;
                 if Cmb_PersonSex.Text ='男' then ParamByName('p3').AsString := 'M'
                 else ParamByName('p3').AsString := 'F';
                 ParamByName('p4').AsString := edt_PersonPass.Text ;
                 ParamByName('p5').AsString := Mm_PersonProp.Text ;
                 ParamByName('p6').AsDateTime := DTP_PersonCreate.DateTime ;
                 ParamByName('p7').AsString := Mm_PersonNote.Text ;
                 ParamByName('p8').AsString := Edt_Phone1.Text ;
                 ParamByName('p9').AsString := Edt_Phone2.Text ;
                 ParamByName('p10').AsString := Edt_Phone3.Text ;
                 ParamByName('p13').AsString := Cmb_AcdGroup.Items.Names[Cmb_AcdGroup.ItemIndex];
                 ParamByName('p14').AsString := Cmb_SkillLevel.Items.Names[Cmb_SkillLevel.ItemIndex];
                 ExecSql;
                 Close;
              end;
              AddItem('Select WorkId,Name,Sex,PassWord,Property,CreateTime,Note From DFWF_People Where WorkId =:p1',edt_WorkId.Text,'0');
           end
           else
           begin
              if sEditId <> edt_WorkId.Text then
              begin
                  With Frm_Gwsz.Qry_pub1 do
                  begin
                     Close;
                     Sql.Clear;
                     Sql.Add('Select WorkId From DFWF_People Where WorkId =:p1');
                     ParamByName('p1').AsString := edt_WorkId.Text ;
                     Open;
                     if Not IsEmpty then
                     Begin
                         MessageBox(0,'工号重复!','提示...'
                                 ,MB_ICONEXCLAMATION+MB_OK);
                        Close;
                        edt_WorkId.SetFocus;
                        Exit;
                     end;
                     Close;
                     Sql.Clear ;
                     Sql.Add ('Update DFWF_PeoplePos ');
                     Sql.Add ('Set WorkId =:p1');
                     Sql.Add ('Where WorkId =:p2');
                     ParamByName('p1').AsString := edt_WorkId.Text ;
                     ParamByName('p2').AsString := sEditId;
                     ExecSql;
                     Close;
                  end;
              end;
              With Frm_Gwsz.Qry_pub1 do
              begin
                  Close;
                  Sql.Clear;
                  Sql.Add ('Update DFWF_People');
                  Sql.Add ('Set WorkId =:p1,Name =:p2,Sex =:p3,PassWord =:p4');
                  Sql.Add (',Property =:p5,CreateTime =:p6,Note =:p7,Phone1 =:p9,Phone2 =:p10,Phone3 =:p11');
                  Sql.Add (',AcdGroup =:p13,SkillLevel =:p14');
                  Sql.Add ('Where WorkId =:p8');
                  ParamByName('p1').AsString := edt_WorkId.Text;
                  ParamByName('p2').AsString := edt_PersonName.Text ;
                  if Cmb_PersonSex.Text ='男' then ParamByName('p3').AsString := 'M'
                  else ParamByName('p3').AsString := 'F';
                  ParamByName('p4').AsString := edt_PersonPass.Text ;
                  ParamByName('p5').AsString := Mm_PersonProp.Text;
                  ParamByName('p6').AsDateTime := DTP_PersonCreate.DateTime ;
                  ParamByName('p7').AsString := Mm_PersonNote.Text ;
                  ParamByName('p8').AsString := sEditId;
                  ParamByName('p9').AsString := Edt_Phone1.Text ;
                  ParamByName('p10').AsString := Edt_Phone2.Text ;
                  ParamByName('p11').AsString := Edt_Phone3.Text ;
                  ParamByName('p13').AsString := Cmb_AcdGroup.Items.Names[Cmb_AcdGroup.ItemIndex];
                  ParamByName('p14').AsString := Cmb_SkillLevel.Items.Names[Cmb_SkillLevel.ItemIndex];
                  ExecSql;
                  Close;
              end;
              AddItem('Select WorkId,Name,Sex,PassWord,Property,CreateTime,Note From DFWF_People Where WorkId =:p1',edt_WorkId.Text,'1');
              Close;
           end;
        end;
  end;

end;

end.

⌨️ 快捷键说明

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