📄 u_bdxinxi.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 + -