📄 kucun_chaxun.pas
字号:
unit KuCun_chaxun;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Grids, DBGrids, DB, ADODB;
type
Tkucun_chaxun_form = class(TForm)
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
DBGrid1: TDBGrid;
BitBtn2: TBitBtn;
ADOConnection1: TADOConnection;
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
ComboBox1: TComboBox;
ADOTable1: TADOTable;
BitBtn1: TBitBtn;
procedure BitBtn2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure RadioButton4Click(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
procedure ComboBox1Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure initdbgrid();
end;
var
kucun_chaxun_form: Tkucun_chaxun_form;
case_flag:integer;
implementation
{$R *.dfm}
uses checkuser;
procedure Tkucun_chaxun_form.initdbgrid();
begin
dbgrid1.Columns[0].Width:=120;
dbgrid1.Columns[1].Width:=120;
dbgrid1.Columns[2].Width:=80;
dbgrid1.Columns[3].Width:=140;
dbgrid1.Columns[4].Width:=80;
dbgrid1.Columns[5].Width:=140;
dbgrid1.Columns[6].Width:=80;
dbgrid1.Columns[7].Width:=80;
dbgrid1.Columns[8].Width:=80;
dbgrid1.Columns[9].Width:=80;
dbgrid1.Columns[10].Width:=80;
dbgrid1.Columns[11].Width:=100;
dbgrid1.Columns[12].Width:=60;
dbgrid1.Columns[13].Width:=100;
dbgrid1.Columns[14].Width:=40;
end;
procedure Tkucun_chaxun_form.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure Tkucun_chaxun_form.FormActivate(Sender: TObject);
begin
edit1.Text:='';
edit2.Text:='0种';
edit3.Text:='';
//-----------------一定要先连接数据库---------------------
ADOConnection1:=CheckUserForm.ADOConnection1;
dbgrid1.DataSource:=DataSource1;
adotable1.Connection:=ADOConnection1;
DataSource1.DataSet:=adoDataSet1;
adoDataSet1.Connection:=ADOConnection1;
adoDataSet1.Close;
adoDataSet1.CommandType:=cmdtext;
adoDataSet1.CommandText:='select sum(教材数量) from 教材表';
adoDataSet1.Open;
if adoDataSet1.Fields[0].Value <> NULL then
begin
edit3.Text:=currtostr(adoDataSet1.Fields[0].Value)+'册';
adoDataSet1.Close;
adoDataSet1.CommandType:=cmdtext;
adoDataSet1.CommandText:='select * from 教材表';
adoDataSet1.Open;
edit2.Text:='共有'+inttostr(adoDataSet1.Recordset.RecordCount)+'种图书';
case_flag:=1;
radiobutton1.Checked:=true;
edit1.Width:=145;
dbgrid1.ReadOnly:=true;
initdbgrid;
end else
bitbtn1.Enabled:=false;
end;
procedure Tkucun_chaxun_form.RadioButton1Click(Sender: TObject);
begin
if RadioButton1.Checked then
begin
case_flag:=1; //按教材名查询
edit1.Text:='';
combobox1.Items.Clear;
label1.Caption:='查询条件';
label1.Width:=88;
combobox1.Visible:=false;
combobox1.Enabled:=false;
end;
end;
procedure Tkucun_chaxun_form.RadioButton2Click(Sender: TObject);
begin
if RadioButton2.Checked then
begin
case_flag:=2; //按作者查询
edit1.Text:='';
combobox1.Items.Clear;
label1.Caption:='查询条件';
label1.Width:=88;
combobox1.Visible:=false;
combobox1.Enabled:=false;
end;
end;
procedure Tkucun_chaxun_form.RadioButton3Click(Sender: TObject);
begin
if RadioButton3.Checked then
begin
case_flag:=3; //按出版社查询
edit1.Text:='';
combobox1.Items.Clear;
label1.Caption:='查询条件';
label1.Width:=88;
combobox1.Visible:=false;
combobox1.Enabled:=false;
end;
end;
procedure Tkucun_chaxun_form.RadioButton4Click(Sender: TObject);
begin
if RadioButton4.Checked then
begin
//case_flag:=4; //按订书单位查询
edit1.Text:='';
combobox1.Enabled:=true;
combobox1.Items.Clear;
adotable1.Close;
adotable1.TableName:='单位信息表';
adotable1.Active:=true;
while not adotable1.Eof do
begin
combobox1.Items.Add(adotable1.fieldbyname('单位名').AsString);
adotable1.Next;
end;
label1.Caption:='选择单位';
label1.Width:=88;
combobox1.Visible:=true;
end;
end;
procedure Tkucun_chaxun_form.Edit1Exit(Sender: TObject);
begin
if edit1.Text<>'' then
begin
edit1.Text:=(edit1.Text);
label2.Caption:='查到图书: ';
case case_flag of
1: //---------------------按教材名查询--------------
begin
adoDataSet1.Close;
adoDataSet1.CommandType:=cmdtext;
adoDataSet1.CommandText:='select sum(教材数量) from 教材表 where 教材名=:name';
adoDataSet1.Parameters.Clear;
adoDataSet1.Parameters.AddParameter;
adoDataSet1.Parameters[0].Name:='name';
adoDataSet1.Parameters[0].DataType:=ftstring;
adoDataSet1.Parameters[0].Direction:=pdinput;
adoDataSet1.Parameters[0].Value:=edit1.Text;
adoDataSet1.Open;
if adoDataSet1.Fields[0].Value <> NULL then
begin
edit3.Text:=currtostr(adoDataSet1.Fields[0].Value)+'册';
adoDataSet1.Close;
adoDataSet1.CommandText:='select * from 教材表 where 教材名=:name';
adoDataSet1.Parameters.Clear;
adoDataSet1.Parameters.AddParameter;
adoDataSet1.Parameters[0].Name:='name';
adoDataSet1.Parameters[0].DataType:=ftstring;
adoDataSet1.Parameters[0].Direction:=pdinput;
adoDataSet1.Parameters[0].Value:=edit1.Text;
adoDataSet1.Open;
edit2.Text:=inttostr(adoDataSet1.Recordset.RecordCount)+'种';
initdbgrid;
end else
begin
edit2.Text:='无';
edit3.Text:='0 册';
end;
end;
2: //---------------------按作者查询----------------
begin
adoDataSet1.Close;
adoDataSet1.CommandType:=cmdtext;
adoDataSet1.CommandText:='select sum(教材数量) from 教材表 where 作者=:name';
adoDataSet1.Parameters.Clear;
adoDataSet1.Parameters.AddParameter;
adoDataSet1.Parameters[0].Name:='name';
adoDataSet1.Parameters[0].DataType:=ftstring;
adoDataSet1.Parameters[0].Direction:=pdinput;
adoDataSet1.Parameters[0].Value:=edit1.Text;
adoDataSet1.Open;
if adoDataSet1.Fields[0].Value <> NULL then
begin
edit3.Text:=currtostr(adoDataSet1.Fields[0].Value)+'册';
adoDataSet1.Close;
adoDataSet1.CommandText:='select * from 教材表 where 作者=:name';
adoDataSet1.Parameters.Clear;
adoDataSet1.Parameters.AddParameter;
adoDataSet1.Parameters[0].Name:='name';
adoDataSet1.Parameters[0].DataType:=ftstring;
adoDataSet1.Parameters[0].Direction:=pdinput;
adoDataSet1.Parameters[0].Value:=edit1.Text;
adoDataSet1.Open;
edit2.Text:=inttostr(adoDataSet1.Recordset.RecordCount)+'种';
initdbgrid;
end else
begin
edit2.Text:='无';
edit3.Text:='0 册';
end;
end;
3: //---------------------按出版社查询--------------
begin
adoDataSet1.Close;
adoDataSet1.CommandType:=cmdtext;
adoDataSet1.CommandText:='select sum(教材数量) from 教材表 where 出版社=:name';
adoDataSet1.Parameters.Clear;
adoDataSet1.Parameters.AddParameter;
adoDataSet1.Parameters[0].Name:='name';
adoDataSet1.Parameters[0].DataType:=ftstring;
adoDataSet1.Parameters[0].Direction:=pdinput;
adoDataSet1.Parameters[0].Value:=edit1.Text;
adoDataSet1.Open;
if adoDataSet1.Fields[0].Value <> NULL then
begin
edit3.Text:=currtostr(adoDataSet1.Fields[0].Value)+'册';
adoDataSet1.Close;
adoDataSet1.CommandText:='select * from 教材表 where 出版社=:name';
adoDataSet1.Parameters.Clear;
adoDataSet1.Parameters.AddParameter;
adoDataSet1.Parameters[0].Name:='name';
adoDataSet1.Parameters[0].DataType:=ftstring;
adoDataSet1.Parameters[0].Direction:=pdinput;
adoDataSet1.Parameters[0].Value:=edit1.Text;
adoDataSet1.Open;
edit2.Text:=inttostr(adoDataSet1.Recordset.RecordCount)+'种';
initdbgrid;
end else
begin
edit2.Text:='无';
edit3.Text:='0 册';
end;
end;
end;
end;
end;
procedure Tkucun_chaxun_form.ComboBox1Click(Sender: TObject);
begin
//--------------------按订书单位查询-------------
adoDataSet1.Close;
adoDataSet1.CommandType:=cmdtext;
adoDataSet1.CommandText:='select sum(教材数量) from 教材表 where 订书单位=:name';
adoDataSet1.Parameters.Clear;
adoDataSet1.Parameters.AddParameter;
adoDataSet1.Parameters[0].Name:='name';
adoDataSet1.Parameters[0].DataType:=ftstring;
adoDataSet1.Parameters[0].Direction:=pdinput;
adoDataSet1.Parameters[0].Value:=combobox1.Text;
adoDataSet1.Open;
if adoDataSet1.Recordset.RecordCount<=0 then
bitbtn1.Enabled:=false
else
bitbtn1.Enabled:=true;
if adoDataSet1.Fields[0].Value <> NULL then
begin
edit3.Text:=currtostr(adoDataSet1.Fields[0].Value)+'册';
adoDataSet1.Close;
adoDataSet1.CommandText:='select * from 教材表 where 订书单位=:name';
adoDataSet1.Parameters.Clear;
adoDataSet1.Parameters.AddParameter;
adoDataSet1.Parameters[0].Name:='name';
adoDataSet1.Parameters[0].DataType:=ftstring;
adoDataSet1.Parameters[0].Direction:=pdinput;
adoDataSet1.Parameters[0].Value:=combobox1.Text;
adoDataSet1.Open;
edit2.Text:=inttostr(adoDataSet1.Recordset.RecordCount)+'种';
initdbgrid;
end else
begin
edit2.Text:='无';
edit3.Text:='0 册';
end;
end;
procedure Tkucun_chaxun_form.BitBtn1Click(Sender: TObject);
begin
if adoDataSet1.Recordset.RecordCount>0 then
adoDataSet1.Delete;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -