📄 epr_namebookunit.~pas
字号:
unit Epr_NameBookUnit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, StdCtrls, Buttons, Grids, DBGrids, ComCtrls, Db, ADODB, ExtCtrls;
type
TEpr_NameBook = class(TForm)
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
ADOQuery2: TADOQuery;
Panel1: TPanel;
Panel3: TPanel;
DBGrid1: TDBGrid;
Panel2: TPanel;
Label1: TLabel;
ComboBox1: TComboBox;
Panel4: TPanel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn5: TBitBtn;
BitBtn4: TBitBtn;
Label2: TLabel;
Edit1: TEdit;
ADOQuery1DSDesigner: TSmallintField;
ADOQuery1DSDesigner2: TWideStringField;
ADOQuery1DSDesigner3: TWideStringField;
ADOQuery1DSDesigner4: TWideStringField;
ADOQuery1DSDesigner5: TWideStringField;
ADOQuery1DSDesigner6: TWideStringField;
ADOQuery1DSDesigner7: TWideStringField;
ADOQuery1DSDesigner8: TWideStringField;
ADOQuery1DSDesigner9: TWideStringField;
ADOQuery1DSDesigner10: TWideStringField;
ADOQuery1DSDesigner11: TWideStringField;
ADOQuery1DSDesigner12: TWideStringField;
ADOQuery1DSDesigner13: TWideStringField;
ADOQuery1DSDesigner14: TFloatField;
ADOQuery1DSDesigner15: TWideStringField;
ADOQuery1DSDesigner16: TWideStringField;
ADOQuery1DSDesigner17: TWideStringField;
ADOQuery1DSDesigner18: TDateTimeField;
ADOQuery1DSDesigner19: TWideStringField;
ADOQuery1DSDesigner20: TWideStringField;
ADOQuery1DSDesigner21: TDateTimeField;
ADOQuery1DSDesigner22: TWideStringField;
ADOQuery1DSDesigner23: TWideStringField;
ADOQuery1DSDesigner24: TDateTimeField;
ADOQuery1DSDesigner25: TDateTimeField;
ADOQuery1DSDesigner26: TDateTimeField;
ADOQuery1DSDesigner27: TDateTimeField;
ADOQuery1DSDesigner28: TWideStringField;
ADOQuery1DSDesigner29: TWideStringField;
ADOQuery1DSDesigner30: TWideStringField;
ADOQuery1DSDesigner31: TWideStringField;
ADOQuery1DSDesigner32: TWideStringField;
ADOCommand1: TADOCommand;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
//procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
//procedure ComboBox2Change(Sender: TObject);
private
{ Private declarations }
public
Code : string;
procedure initbox();
{ Public declarations }
end;
var
Epr_NameBook: TEpr_NameBook;
implementation
uses Epr_NameBookEditUnit, //Epr_NameBookField,
Epr_SelectUnit2,Variants, BusTradeDataModuleUnit;
{$R *.DFM}
procedure TEpr_NameBook.initbox();
var
sqlstr,ss : string;
begin
ComboBox1.Items.Clear;
sqlstr := 'select distinct 统计年份 from 公用事业单位基本情况表';
AdoQuery2.Close;
AdoQuery2.SQL.Clear;
AdoQuery2.SQL.Add(sqlstr);
AdoQuery2.Open;
ss := IntToStr(AdoQuery2.RecordCount);
while (not AdoQuery2.Eof) do
begin
ss := AdoQuery2.fieldbyname('统计年份').AsString;
ComboBox1.Items.Add(ss);
AdoQuery2.Next;
end;
if (ComboBox1.Items.Count>0) then
ComboBox1.Text := ComboBox1.Items[0];
end;
procedure TEpr_NameBook.BitBtn1Click(Sender: TObject);
var
sqlstr : string;
begin
if (ComboBox1.Items.Count = 0) then //空库时强行打开记录集
begin
AdoQuery1.Close;
AdoQuery1.SQL.Clear;
AdoQuery1.SQL.Add('select * from 公用事业单位基本情况表');
AdoQuery1.Open;
end;
ADOQuery1.Append;
AdoQuery1.FieldByName('单位坐落区域').AsString := '和平区';
AdoQuery1.FieldByName('行业代码').AsString := '7511';
AdoQuery1.FieldByName('行业类别').AsString := '公共汽车、电车业';
AdoQuery1.FieldByName('企业(单位)登记注册类型').AsString := '国有企业';
AdoQuery1.FieldByName('营业状况').AsString := '营业';
AdoQuery1.FieldByName('企业规模').AsString := '特大型';
AdoQuery1.FieldByName('企业资质等级').AsString := '一级';
EprNameBookEdit.DbEdit12.Text := '0';
EprNameBookEdit.kind := 'new';
EprNameBookEdit.BitBtn2.Enabled := false;
EprNameBookEdit.BitBtn3.Enabled := false;
EprNameBookEdit.ShowModal;
end;
procedure TEpr_NameBook.BitBtn2Click(Sender: TObject);
var
sqlstr : string;
icode : string;
begin
if ((ComboBox1.Items.Count = 0) or (AdoQuery1.RecordCount = 0) ) then
begin
ShowMessage('没有记录,无法浏览修改!');
exit;
end;
ADOQuery1.Edit;
EprNameBookEdit.kind := 'edit';
EprNameBookEdit.BitBtn2.Enabled := true;
EprNameBookEdit.BitBtn3.Enabled := true;
EprNameBookEdit.ShowModal;
end;
procedure TEpr_NameBook.BitBtn3Click(Sender: TObject);
var
sqlstr : string;
code,s : string;
begin
if ((ComboBox1.Items.Count = 0) or (AdoQuery1.RecordCount = 0)) then
begin
ShowMessage('没有记录,无法删除!');
exit;
end;
if (Messagebox(self.Handle,'确认删除按确认键,否则按取消', '确认', mb_OKCancel ) = IDOK)
then
begin
code := Adoquery1.fieldbyName('单位代码').AsString;
s := Adoquery1.fieldbyName('统计年份').AsString;
ADOQuery1.Delete;
AdoQuery1.UpdateBatch(arAll);
end;
InitBox();
ComboBox1Change(nil);
end;
procedure TEpr_NameBook.BitBtn5Click(Sender: TObject);
var
sqlstr : string;
begin
sqlstr := 'delete * from 主要业务活动表';
AdoCommand1.CommandText := sqlstr;
AdoCommand1.Execute;
sqlstr := 'insert into 主要业务活动表 (企业代码, 统计年份, 企业类型, 公共汽车、电车, 地铁, 轻轨, 轮渡) select 单位代码 as 企业代码, 统计年份, 1 as 企业类型, 公共汽车、电车, 地铁, 轻轨,轮渡 from 公用事业单位基本情况表';
AdoCommand1.CommandText := sqlstr;
AdoCommand1.Execute;
EprNameBookEdit.Free;
Epr_NameBook.Close;
end;
procedure TEpr_NameBook.FormShow(Sender: TObject);
var
sqlstr : string;
codeindex : integer;
begin
initbox();
if (ComboBox1.Items.Count > 0) then
begin
AdoQuery1.Close;
AdoQuery1.SQL.Clear;
sqlstr := 'select * from 公用事业单位基本情况表 where 统计年份='+ComboBox1.text+' order by 单位代码';
AdoQuery1.SQL.Add(sqlstr);
AdoQuery1.Open;
AdoQuery1.First;
Edit1.Text:= IntToStr(Adoquery1.RecordCount);
end;
end;
procedure TEpr_NameBook.ComboBox1Change(Sender: TObject);
var
sqlstr : string;
begin
if (ComboBox1.Text='') then
begin
Edit1.Text := '0';
exit;
end;
AdoQuery1.Close;
AdoQuery1.SQL.Clear;
sqlstr := 'select * from 公用事业单位基本情况表 where 统计年份='+ComboBox1.text+' order by 单位代码';
AdoQuery1.SQL.Add(sqlstr);
AdoQuery1.Open;
AdoQuery1.First;
Edit1.Text := IntToStr(AdoQuery1.RecordCount);
end;
procedure TEpr_NameBook.BitBtn4Click(Sender: TObject);
var
temp : integer;
begin
if (ComboBox1.Items.Count = 0) then
begin
ShowMessage('数据库空,无法复制!');
exit;
end;
try
temp:=StrToInt(ComboBox1.Text);
except
showmessage('对不起!您选择的"统计年份"非法!请重新选择!');
exit;
end;
if (length(ComboBox1.Text)<>4) or (StrToInt(ComboBox1.Text)>3000) or (StrToInt(ComboBox1.Text)<1000) then
begin
showmessage('对不起!请您在1000年-3000年之间选择"统计年份"!');
exit;
end;
Epr_Select2.ShowModal;
end;
procedure TEpr_NameBook.FormCreate(Sender: TObject);
begin
Application.CreateForm(TEprNameBookEdit, EprNameBookEdit);
EprNameBookEdit.DataSource1.DataSet:= ADOQuery1;
end;
procedure TEpr_NameBook.FormDestroy(Sender: TObject);
begin
//EprNameBookEdit.Free;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -