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

📄 cstm.pas

📁 主要是介绍DELPHI三层应用以及分布式数据库的应用
💻 PAS
📖 第 1 页 / 共 2 页
字号:
        qcst.insert;
        editdbedit2.SetFocus ;

        DisableBtn;
        btn_save.Enabled :=true;
        btn_cancel.Enabled :=true;

        btn_save1.Enabled :=true;
        btn_cancel1.Enabled :=true;

    btn_delete2.Enabled:=true;
    btn_addnew2.Enabled:=true;
    btn_edit2.Enabled :=true;
//给下面审核栏默认值:
    qcst.fieldbyname('办事处').AsString :=myoffice;
//日期:
    Present:= Now;
    qcst.fieldbyname('录入日期').AsDateTime :=present;
//人名:
  with queryuse do begin
    if active then close;
    unprepare;
    sql.Clear;
    sql.Add('select 主管,审核,录入 from pub_z_client');
    prepare;
    open;
    last;
    qcst.fieldbyname('主管').AsString:=fieldbyname('主管').AsString;
    qcst.fieldbyname('审核').AsString:=fieldbyname('审核').AsString;
    qcst.fieldbyname('录入').AsString:=fieldbyname('录入').AsString;

  end;
end;

procedure TFrm_cstm.btn_saveClick(Sender: TObject);
begin
   if (DBEdit2.Text='') or (DBEdit2.Text=null) then
     begin
      application.MessageBox('客户号不能为空!','提示',MB_OK);
      exit;
     end;
   if  (editDBEdit2.Text='') or (editDBEdit2.Text=null)then
     begin
      application.MessageBox('客户名称均不能为空!','提示',MB_OK);
      exit;
     end;
 if  not isedit  then
  begin
  ADOQuery1.Active :=false;
  ADOQuery1.SQL.Clear ;
  ADOQuery1.SQL.Add ('select 客户名称 from pub_z_client where 客户号='''+trim(DbEdit2.Text) +'''');
  ADOQuery1.Active :=true;
 end;
  if not ADOQuery1.Eof then
      begin
      showmessage ( '  数据库中已有该客户号,请从新输入!');
      exit;
      end;
  ADOQuery1.Active :=false;

      with data.zxjxdata do begin
      if not DatabaseJxw.intransaction then DatabaseJxw.starttransaction;
      try
        qcst.Post ;
        //qcst.ApplyUpdates;
        qperson.ApplyUpdates ;
        DatabaseJxw.commit;

//        qcst.CommitUpdates ;
//        qperson.CommitUpdates ;

        //锁住所有文本框
        LockEdit;
        //使按钮有效
        EnableBtn ;
        btn_save.Enabled :=false;
        btn_cancel.Enabled :=false;
        btn_save1.Enabled :=false;
        btn_cancel1.Enabled :=false;
      except
        DatabaseJxw.Rollback;
        raise;
      end;
    end;
{     qcst.Close ;
    qcst.Open ;
     qperson.Close ;
    qperson.Open ;

 }

end;



procedure TFrm_cstm.btn_editClick(Sender: TObject);
begin

        qcst.Edit ;
        isedit:=true;
        kehuhao:=dbedit2.Field.CurValue ;
        //让文本框可以编辑
        UnlockEdit;
        //使一些按钮失效
        DisableBtn;
        btn_save.Enabled :=true;
        btn_cancel.Enabled :=true;

        btn_save1.Enabled :=true;
        btn_cancel1.Enabled :=true;


    btn_addnew2.Enabled:=true;
    if qperson.RecordCount>0 then
     begin
     btn_edit2.Enabled :=true;
     btn_delete2.Enabled:=true;
     end;
end;


procedure TFrm_cstm.btn_cancelClick(Sender: TObject);
begin
        qcst.Cancel ;

        lockedit;

        enablebtn;
        btn_cancel.Enabled :=false;
        btn_save.Enabled :=false;

        btn_cancel1.Enabled :=false;
        btn_save1.Enabled :=false;

end;


procedure TFrm_cstm.btn_deleteClick(Sender: TObject);
begin
    if qcst.RecordCount <>0 then
     qcst.Delete
    else
    begin
        showmessage('没有记录可以删除!');
        exit;
    end;
//     qcst.ApplyUpdates;
     lockedit;

     enablebtn;
     btn_delete.Enabled :=true;
     btn_save.Enabled :=false;

     btn_delete1.Enabled :=true;
     btn_save1.Enabled :=false;

end;
//***************以上是按纽操作。*********************


procedure TFrm_cstm.FormCreate(Sender: TObject);
begin
  with queryuse do begin
    if active then close;
    unprepare;
    sql.Clear;
    sql.Add('select 办事处名称 from pub_z_office');
    prepare;
    open;
    if findfirst then begin
    while not eof do begin
      DBComboBox1.Items.Add(fieldbyname('办事处名称').AsString);
      next;
    end;
    end;
  end;

  if not qcst.Active then qcst.open;

     lockedit;
     enablebtn;
     btn_delete.Enabled :=true;
     btn_save.Enabled :=false;

     btn_delete1.Enabled :=true;
     btn_save1.Enabled :=false;

     dbgrid1.readonly :=true;
end;

procedure TFrm_cstm.qcstAfterScroll(DataSet: TDataSet);
begin
    with qperson do begin
    if active then close;
    unprepare;
    parambyname('khh').AsString:=qcst.fieldbyname('客户号').asstring;
    prepare;
    open;
  end;

end;

procedure TFrm_cstm.btn_addnew2Click(Sender: TObject);
begin
 // if qpreson.last
  qperson.Append;
  qperson.FieldByName('客户号').AsString:=qcst.fieldbyname('客户号').asstring;
  qperson.FieldByName('录入日期').AsString:=qcst.fieldbyname('录入日期').asstring;
  qperson.FieldByName('办事处').AsString:=qcst.fieldbyname('办事处').asstring;  

  dbgrid1.readonly :=false;
end;

procedure TFrm_cstm.btn_delete2Click(Sender: TObject);
begin
if qperson.RecordCount <>0 then
    qperson.Delete;
    qperson.ApplyUpdates;
end;

procedure TFrm_cstm.btn_first1Click(Sender: TObject);
begin
    btn_firstClick(btn_first);
end;

procedure TFrm_cstm.btn_prev1Click(Sender: TObject);
begin
     btn_prev1Click(btn_prev);
end;

procedure TFrm_cstm.btn_next1Click(Sender: TObject);
begin
    btn_nextClick(btn_next);
end;

procedure TFrm_cstm.btn_last1Click(Sender: TObject);
begin
     btn_lastClick(btn_last);
end;

procedure TFrm_cstm.btn_addnew1Click(Sender: TObject);
begin
      btn_addnewClick(btn_addnew);
end;

procedure TFrm_cstm.btn_edit1Click(Sender: TObject);
begin
       btn_editClick(btn_edit);
end;

procedure TFrm_cstm.btn_cancel1Click(Sender: TObject);
begin
    btn_cancelClick(btn_cancel);
end;

procedure TFrm_cstm.btn_save1Click(Sender: TObject);
begin
     btn_saveClick(btn_save);  
end;

procedure TFrm_cstm.btn_delete1Click(Sender: TObject);
begin
    btn_deleteClick(btn_delete);
end;

procedure TFrm_cstm.btn_edit2Click(Sender: TObject);
begin
    if qperson.RecordCount <>0 then
     begin
     qperson.Edit;
     dbgrid1.Enabled :=true;
     end;
end;



procedure TFrm_cstm.btn_qryClick(Sender: TObject);
begin
        //unit_wxp.WhichForm:=1;
        //Application.CreateForm(TFrm_search, Frm_search);
        //frm_search.Showmodal ;

        Application.CreateForm(TForm_search, Form_search);
        form_search.TransADO:= qcst ;
        unit_wxp.WhichForm:=30;
        form_search.Showmodal ;

end;

procedure TFrm_cstm.btn_brsClick(Sender: TObject);
begin
  with qcst do begin
    if active then close;
    sql.Clear;
    sql.Add('select * from pub_z_client');
    open;
    Filtered :=false;
//    DBGrid2.DataSource :=dscst;

  end;

end;

procedure TFrm_cstm.btn_prtClick(Sender: TObject);
begin
    frp_cstm:=Tfrp_cstm.Create(application);
     frp_cstm.QuickRep1.Preview;
     frp_cstm.free;


end;

procedure TFrm_cstm.FormKeyPress(Sender: TObject; var Key: Char);
begin
 if Key = #13 then
    begin
      Key := #0;
      Perform(WM_NEXTDLGCTL, 0, 0);
    end;
end;

procedure TFrm_cstm.FormDestroy(Sender: TObject);
begin
   frm_cstm:=nil
end;

procedure TFrm_cstm.qcstAfterOpen(DataSet: TDataSet);
begin
   label34.caption:=inttostr(qcst.RecordCount ) ;
end;

procedure TFrm_cstm.DBEdit2Exit(Sender: TObject);
begin
if not((isedit) and (dbedit2.Field.CurValue= kehuhao)) then

  begin

  ADOQuery1.Active :=false;
  ADOQuery1.SQL.Clear ;
  ADOQuery1.SQL.Add ('select 客户名称 from pub_z_client where 客户号='''+trim(DbEdit2.Text) +'''');
  ADOQuery1.Active :=true;
  if not ADOQuery1.Eof then
      showmessage ( '  数据库中已有该客户号,请重新输入!');
      ADOQuery1.Active :=false;
  end;
end;
end.

⌨️ 快捷键说明

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