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

📄 u_bdxinxi.pas

📁 招投标软件代码,很有应用价值,请大家参考下哦,不明白的地方给我留言
💻 PAS
字号:
unit U_BDXinXi;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ToolWin, StdCtrls, ExtCtrls, Grids, DBGrids, Buttons,
  ImgList, DB, ADODB;

type
  TF_BDXinXi = class(TForm)
    Panel1: TPanel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label16: TLabel;
    Edt_Name: TEdit;
    Edt_Start: TEdit;
    Edt_Length: TEdit;
    Edt_Biaodi: TEdit;
    Edt_ZIzhi: TEdit;
    Edt_Gongqi: TEdit;
    Edt_end: TEdit;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    DBGrid1: TDBGrid;
    Label1: TLabel;
    Label3: TLabel;
    Panel2: TPanel;
    bb_Add: TBitBtn;
    bb_Update: TBitBtn;
    bb_Delete: TBitBtn;
    bb_Save: TBitBtn;
    bb_Cancel: TBitBtn;
    ilTree: TImageList;
    Memo_miaoshu: TMemo;
    Com_leibie: TComboBox;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    Label6: TLabel;
    Edit1: TEdit;
    Panel3: TPanel;
    Label2: TLabel;
    Com_xiangmu: TComboBox;
    Label5: TLabel;
    com_gongcheng: TComboBox;
    Label4: TLabel;
    Com_zhaobiao: TComboBox;
    Button1: TButton;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormDestroy(Sender: TObject);
    procedure Com_zhaobiaoChange(Sender: TObject);
    procedure bb_CancelClick(Sender: TObject);
    procedure bb_AddClick(Sender: TObject);
    procedure bb_UpdateClick(Sender: TObject);
    procedure DataSource1DataChange(Sender: TObject; Field: TField);
    procedure bb_SaveClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure bb_DeleteClick(Sender: TObject);
    function  MakeSql:String;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    ichoose:Integer;
    bd_isbn:Integer;
  public
    { Public declarations }
  end;

var
  F_BDXinXi: TF_BDXinXi;

implementation

uses
  datamodule,unit_public,DataAccessCommonShell;

{$R *.dfm}

procedure TF_BDXinXi.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  action:=cafree;
end;

function  TF_BDXinXi.MakeSql:String;
var
   Ssql:string;
begin
  ssql:=' select b.bd_isbn, C.xm_name,D.zblx_name,E.gclx_name,b.bd_name,b.bd_length,'
     +' b.BD_qidianzh,b.bd_zhongdianzh,b.bd_biaodi,b.BD_time,b.BD_leibie,'
     +' b.BD_ZIZHI_YAOQIU,b.bd_miaoshu,bd_bianhao '
     +' from bid_biaoduan_xinxi b,bid_xmgczb a,'
     +' bid_xiangmu_xinxi c,bid_zhaobiao_leixing d,bid_gongcheng_leixing e where'
     +' a.xmgczb_id=b.xmgczb_id and a.xm_isbn=c.xm_isbn and'
     +' a.zblx_id=d.zblx_id and a.gclx_id=e.gclx_id';
  if com_xiangmu.Items.IndexOf(com_xiangmu.text)>0 then
    ssql:=ssql+' and c.xm_name='''+trim(com_xiangmu.Text)+'''';
  if com_gongcheng.Items.IndexOf(com_gongcheng.Text)>0 then
    ssql:=ssql+' and e.gclx_name='''+trim(com_gongcheng.Text)+'''';
  if com_zhaobiao.Items.IndexOf(com_zhaobiao.Text)>0 then
    ssql:=ssql+' and d.zblx_name='''+trim(com_zhaobiao.Text)+'''';
  ssql:=ssql+' order by xm_name,zblx_name,gclx_name ';
  result:=ssql;
end;

procedure TF_BDXinXi.FormDestroy(Sender: TObject);
begin
  F_BDXinXi:=nil;
end;

procedure TF_BDXinXi.Com_zhaobiaoChange(Sender: TObject);
begin
  if com_zhaobiao.Text='施工' then
  begin
    label22.Visible:=true;
    com_leibie.Visible:=true;
    DBGrid1.Columns[9].Visible:=true;

  end
  else
  begin
    label22.Visible:=false;
    com_leibie.Visible:=false;
    com_leibie.ItemIndex:=-1;
    DBGrid1.Columns[9].Visible:=false;
  end;
end;

procedure TF_BDXinXi.bb_CancelClick(Sender: TObject);
begin
  Ichoose:=0;
  bb_save.Enabled:=false;
end;

procedure TF_BDXinXi.bb_AddClick(Sender: TObject);
begin
  ichoose:=1;
  bb_save.Enabled:=true;
end;

procedure TF_BDXinXi.bb_UpdateClick(Sender: TObject);
begin
  ichoose:=2;
  bb_save.Enabled:=true;
end;

procedure TF_BDXinXi.DataSource1DataChange(Sender: TObject; Field: TField);
begin
  if adoquery1.recordcount<=0 then exit;
  bd_isbn:=adoquery1.fieldbyname('bd_isbn').AsInteger;
  com_xiangmu.Text:=adoquery1.fieldbyname('xm_name').AsString;
  com_zhaobiao.Text:=adoquery1.fieldbyname('zblx_name').AsString;
  com_gongcheng.Text:=adoquery1.fieldbyname('gclx_name').AsString;
  edt_name.Text:=adoquery1.fieldbyname('bd_name').AsString;
  edt_length.Text:=adoquery1.fieldbyname('bd_length').AsString;
  edt_start.Text:=adoquery1.fieldbyname('BD_qidianzh').AsString;
  edt_end.Text:= adoquery1.fieldbyname('bd_zhongdianzh').AsString;
  edt_biaodi.Text:=adoquery1.fieldbyname('bd_biaodi').AsString;
  edt_gongqi.Text:=adoquery1.fieldbyname('BD_time').AsString;
  com_leibie.ItemIndex:=adoquery1.fieldbyname('BD_leibie').AsInteger;
  edt_zizhi.Text:=adoquery1.fieldbyname('BD_ZIZHI_YAOQIU').AsString;
  edit1.Text:=adoquery1.fieldbyname('bd_bianhao').AsString;
  memo_miaoshu.Text:=adoquery1.fieldbyname('bd_miaoshu').AsString;
  if com_zhaobiao.Text='施工' then
  begin
    label22.Visible:=true;
    com_leibie.Visible:=true;
  end
  else
  begin
    label22.Visible:=false;
    com_leibie.Visible:=false;
  end;
end;

procedure TF_BDXinXi.bb_SaveClick(Sender: TObject);
var
  ssql,sbd_isbn,sxm_isbn,sxmgczb_id:string;
  adoquery:tadoquery;
begin
  if application.MessageBox('确认名字在列表中唯一','请确认',mb_yesno)<>mryes then  exit;
  if trim(edit1.Text)='' then
  begin
    showmessage('请输入编号');
    exit;
  end;
  if ichoose=1 then
  begin
    if (com_xiangmu.Items.IndexOf(com_xiangmu.Text)>-1) and (com_zhaobiao.Items.IndexOf(com_zhaobiao.Text)>-1)
        and (com_gongcheng.Items.IndexOf(com_gongcheng.Text)>-1)  then
    else
    begin
      ichoose:=0;
      bb_save.Enabled:=false;
      showmessage('具体信息指定不正确');
      exit;
    end;
    adoquery:=tadoquery.Create(nil);
    try
      adoquery.Connection:=datamodule1.ADOMainConn;
      adoquery.close;
      adoquery.SQL.Text:=' select count(*) as id from bid_biaoduan_xinxi  where bd_bianhao='''+trim(edit1.Text)+''' and '
         +'  xmgczb_id in (select xmgczb_id from '
         +' bid_xmgczb a,bid_xiangmu_xinxi b,bid_zhaobiao_leixing c,bid_gongcheng_leixing d'
         +' where a.xm_isbn=b.xm_isbn and a.zblx_id=c.zblx_id and a.gclx_id=d.gclx_id and '
         +' b.xm_name='''+trim(com_xiangmu.Text)+''' and c.zblx_name='''+trim(com_zhaobiao.Text)+''' and d.gclx_name='''
         +trim(com_gongcheng.Text)+''')';
      adoquery.open;
      if adoquery.FieldByName('id').AsInteger>0 then
      begin
        showmessage('编号已经存在');
        exit;
      end;

      adoquery.Close;
      adoquery.SQL.text:='select max(bd_isbn) as bd_isbn from  bid_biaoduan_xinxi where xmgczb_id in (select xmgczb_id from '
                 +' bid_xmgczb a,bid_xiangmu_xinxi b'
                 +' where a.xm_isbn=b.xm_isbn AND '
                 +' b.xm_name='''+trim(com_xiangmu.Text)+''')';
      adoquery.Open;
      sbd_isbn:=adoquery.fieldbyname('bd_isbn').AsString;
      if sbd_isbn='' then sbd_isbn:='0';
      sbd_isbn:=inttostr(strtoint(sbd_isbn)+1);
      sbd_isbn:=format_str(sbd_isbn);
      adoquery.SQL.Text:='select xm_isbn from bid_xiangmu_xinxi where xm_name='''+trim(com_xiangmu.text)+'''';
      adoquery.Open;
      sxm_isbn:=adoquery.fieldbyname('xm_isbn').AsString;
      sbd_isbn:=sxm_isbn+sbd_isbn;
    finally
      freeandnil(adoquery);
    end;
    ssql:='insert into bid_biaoduan_xinxi(bd_isbn,xmgczb_id,bd_name,bd_length,BD_qidianzh,bd_zhongdianzh,BD_time,'
         +'BD_leibie,BD_ZIZHI_YAOQIU,bd_miaoshu,bd_bianhao) select '''+trim(sbd_isbn)+''',xmgczb_id,'''+trim(edt_name.Text)+''','''
         +trim(edt_length.Text)+''','''+trim(edt_start.Text)+''','''+trim(edt_end.Text)+''','''+trim(edt_gongqi.Text)
         +''','+trim(getleibie(com_leibie.text))+','''+trim(edt_zizhi.Text)
         +''','''+trim(memo_miaoshu.Text)+''','+trim(edit1.text)+' from bid_xmgczb a,bid_xiangmu_xinxi b,bid_zhaobiao_leixing'
         +' c,bid_gongcheng_leixing d where a.xm_isbn=b.xm_isbn and a.zblx_id=c.zblx_id and a.gclx_id=d.gclx_id and b.xm_name='''
         +trim(com_xiangmu.Text)+''' and c.zblx_name='''+trim(com_zhaobiao.Text)+''' and d.gclx_name='''+trim(com_gongcheng.Text)+'''';
  end;
  IF ichoose=2 then
  begin
     adoquery:=tadoquery.Create(nil);
     try
       adoquery.Connection:=datamodule1.ADOMainConn;
       adoquery.SQL.Text:='select xmgczb_id from bid_xmgczb a,bid_xiangmu_xinxi b,bid_zhaobiao_leixing'
         +' c,bid_gongcheng_leixing d where a.xm_isbn=b.xm_isbn and a.zblx_id=c.zblx_id and a.gclx_id=d.gclx_id and b.xm_name='''
         +trim(com_xiangmu.Text)+''' and c.zblx_name='''+trim(com_zhaobiao.Text)+''' and d.gclx_name='''+trim(com_gongcheng.Text)+'''';
       adoquery.Open;
       sxmgczb_id:=adoquery.fieldbyname('xmgczb_id').AsString;
     finally
       freeandnil(adoquery);
     end;
     ssql:='update bid_biaoduan_xinxi set xmgczb_id='''+trim(sxmgczb_id)+''',bd_name='''+trim(edt_name.Text)+''',bd_length='''
       +trim(edt_length.Text)+''',BD_qidianzh='''+trim(edt_start.Text)+''',bd_zhongdianzh='''+trim(edt_end.Text)+''',BD_time='''
       +trim(edt_gongqi.Text)+''',BD_leibie='+trim(inttostr(com_leibie.itemindex))
       +',BD_ZIZHI_YAOQIU='''+trim(edt_zizhi.Text)+''',bd_miaoshu='''+trim(memo_miaoshu.Text)+''',bd_bianhao='''+trim(edit1.Text)
       +''' where bd_isbn='+trim(inttostr(bd_isbn));
  end;
  if DelAddIns(ssql)=true then
  begin
    bb_save.Enabled:=false;
    adoquery1.Close;
    adoquery1.SQL.text:=MakeSql;
    ADOQUERY1.Open;
  end;
end;

procedure TF_BDXinXi.FormCreate(Sender: TObject);
var
  adoquery:tadoquery;
  i:integer;
begin
  com_leibie.ItemIndex:=0;
  adoquery1.Close;
  adoquery1.SQL.text:=MakeSql;
  ADOQUERY1.Open;
  adoquery:=tadoquery.Create(nil);
  try
    adoquery.Close;
    adoquery.Connection:=DataModule1.ADOMainConn;
    adoquery.SQL.Text:='select xm_name  from bid_xiangmu_xinxi ';  ///获得列表
    adoquery.Open;
    adoquery.First;
    com_xiangmu.Items.Clear;
    com_xiangmu.Items.Add('全部');
    for i:=0 to adoquery.RecordCount-1 do
    begin
      com_xiangmu.items.add(adoquery.FieldByName('xm_name').AsString);
      adoquery.Next;
    end;
    adoquery.Close;
    adoquery.SQL.Text:='select zblx_name  from bid_zhaobiao_leixing';
    adoquery.Open;
    adoquery.First;
    com_zhaobiao.Items.Clear;
    com_zhaobiao.Items.Add('全部');
    for i:=0 to adoquery.RecordCount-1 do
    begin
      com_zhaobiao.items.add(adoquery.FieldByName('zblx_name').AsString);
      adoquery.Next;
    end;
    adoquery.Close;
    adoquery.SQL.Text:='select gclx_name  from bid_gongcheng_leixing ';
    adoquery.Open;
    adoquery.First;
    com_gongcheng.Items.Clear;
    com_gongcheng.Items.Add('全部');
    for i:=0 to adoquery.RecordCount-1 do
    begin
      com_gongcheng.items.add(adoquery.FieldByName('gclx_name').AsString);
      adoquery.Next;
    end;
  finally
    freeandnil(adoquery);
  end;
end;

procedure TF_BDXinXi.bb_DeleteClick(Sender: TObject);
var ssql:string;
begin
  if bd_isbn=0 then exit;
  ssql:='delete from bid_biaoduan_xinxi where bd_isbn='+trim(inttostr(bd_isbn));
  if DelAddIns(ssql)=true then
  begin
    adoquery1.Close;
    adoquery1.SQL.text:=MakeSql;
    ADOQUERY1.Open;
  end;
end;

procedure TF_BDXinXi.Button1Click(Sender: TObject);
begin
  adoquery1.Close;
  adoquery1.SQL.text:=MakeSql;
  ADOQUERY1.Open;
end;

end.

⌨️ 快捷键说明

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