📄 uquery.pas
字号:
unit uquery;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ComCtrls, ExtCtrls,dbtables;
type
Tuqueryfrm = class(TForm)
Panel1: TPanel;
GroupBox1: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
RadioButton5: TRadioButton;
CheckBox1: TCheckBox;
Label1: TLabel;
Edit1: TEdit;
ListView1: TListView;
Label2: TLabel;
ComboBox1: TComboBox;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
Memo1: TMemo;
SDialog: TSaveDialog;
procedure BitBtn3Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure RadioButton4Click(Sender: TObject);
procedure RadioButton5Click(Sender: TObject);
//procedure BitBtn1Click(Sender: TObject);
private
procedure bookquery;
procedure setbooksql(var q:tquery);
procedure setbookparam(var q:tquery;param:string);
procedure is_check;
{ Private declarations }
public
{ Public declarations }
end;
var
uqueryfrm: Tuqueryfrm;
implementation
uses global;
{$R *.dfm}
procedure Tuqueryfrm.BitBtn3Click(Sender: TObject);
begin
try
bookquery;
except
messagedlg('查询失败!',mterror,[mbok],0);
end;
end;
procedure tuqueryfrm.bookquery;
var
q:tquery;
begin
listview1.Items.Clear;
q:=tquery.Create(nil);
q.DatabaseName:=dbname;
setbooksql(q);
if radiobutton5.Checked then
setbookparam(q,combobox1.Items[combobox1.itemindex])
else setbookparam(q,edit1.Text);
q.Open;
while not q.Eof do
begin
with listview1.Items.Add do
begin
caption:=q.fieldbyname('图书编号').AsString;
subitems.Add(q.fieldbyname('书名').AsString);
subitems.Add(q.fieldbyname('作者').AsString);
subitems.Add(q.fieldbyname('出版社').AsString);
subitems.Add(q.fieldbyname('出版时间').AsString);
subitems.Add(q.fieldbyname('书价').AsString);
subitems.Add(q.fieldbyname('借阅次数').AsString);
if isborrowed(caption) then subitems.Add('是') else subitems.Add('否');
end;
q.next;
end;
label2.Caption:='共'+inttostr(q.RecordCount)+'本';
q.Close;
q.Free;
end;
procedure tuqueryfrm.setbooksql(var q:tquery);
begin
q.SQL.Clear;
if radiobutton1.Checked then
q.SQL.Add('select * from book_info where 图书编号 like :b_no');
if radiobutton2.Checked then
q.SQL.Add('select * from book_info where 书名 like :b_name');
if radiobutton3.Checked then
q.SQL.Add('select * from book_info where 作者 like :b_author');
if radiobutton4.Checked then
q.SQL.Add('select * from book_info where 出版社 like :b_publisher');
if radiobutton5.Checked then
q.SQL.Add('select * from book_info where 类别 like :b_type');
end;
procedure tuqueryfrm.setbookparam(var q:tquery;param:string);
begin
if checkbox1.Checked then param:=param+'%';
if radiobutton1.Checked then
q.ParamByName('b_no').AsString:=param;
if radiobutton2.Checked then
q.ParamByName('b_name').AsString:=param;
if radiobutton3.Checked then
q.ParamByName('b_author').AsString:=param;
if radiobutton4.Checked then
q.ParamByName('b_publisher').AsString:=param;
if radiobutton5.Checked then
q.ParamByName('b_type').AsString:=param;
end;
procedure Tuqueryfrm.RadioButton1Click(Sender: TObject);
begin
is_check;
end;
procedure Tuqueryfrm.RadioButton2Click(Sender: TObject);
begin
is_check;
end;
procedure Tuqueryfrm.RadioButton3Click(Sender: TObject);
begin
is_check;
end;
procedure Tuqueryfrm.RadioButton4Click(Sender: TObject);
begin
is_check;
end;
procedure Tuqueryfrm.RadioButton5Click(Sender: TObject);
begin
is_check;
end;
procedure tuqueryfrm.is_check;
begin
if radiobutton5.Checked then
begin
combobox1.Left:=edit1.Left;
combobox1.Top:=edit1.Top;
combobox1.Width:=edit1.Width;
combobox1.Height:=edit1.Height;
combobox1.Visible:=true;
edit1.Visible:=false;
end
else
if edit1.Visible=false then
begin
edit1.Left:=combobox1.Left;
edit1.Top :=combobox1.Top;
edit1.Width:=combobox1.Width;
edit1.Height:=combobox1.Height;
edit1.Visible:=true;
combobox1.Visible:=false;
end;
end;
procedure tuqueryfrm.FormShow(Sender: TObject);
begin
listview1.Items.clear;
label2.Caption:='共0本';
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -