📄 bookqueryunit.pas
字号:
unit BookQueryUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls, Buttons;
type
TfrmBookQuery = class(TForm)
GroupBox1: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
GroupBox2: TGroupBox;
Label1: TLabel;
Edit1: TEdit;
GroupBox3: TGroupBox;
Label2: TLabel;
Label3: TLabel;
Edit2: TEdit;
Edit3: TEdit;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
procedure FormCreate(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure RadioButton4Click(Sender: TObject);
procedure Edit1Enter(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
private
procedure iniEdit;{ Private declarations }
public
{ Public declarations }
end;
var
frmBookQuery: TfrmBookQuery;
BookQueryDS:TADODataSet;
implementation
uses DataModuleUnit,Math;
{$R *.dfm}
//初始化Edit
procedure TfrmBookQuery.iniEdit();
begin
Edit2.Text:='0';
Edit3.Text:='0';
end;
procedure TfrmBookQuery.FormCreate(Sender: TObject);
begin
//初始化设置
BookQueryDS:=TADODataSet.Create(nil);
with bookQueryDS do
begin
Connection:=frmDataModule.Connection;
CommandType:=cmdText;
end;
DataSource1.DataSet:=BookQueryDS;
DbGrid1.DataSource:=DataSource1;
end;
procedure TfrmBookQuery.SpeedButton1Click(Sender: TObject);
var
money:real;
sqlstr2:string;
begin
if edit1.Text<>'' then
begin
with BookQueryDS do
begin
close;
if radioButton1.Checked then //按书名查询
sqlstr2:=' select * from books where bookname like '
else
if radioButton2.Checked then //按出版社查询
sqlstr2:='select * from books where press like '
else
if radioButton3.Checked then //按作者查询
sqlstr2:='select * from books where author like '
else //按订书单位查询
sqlstr2:='select * from books where orderDepartmentName like ';
CommandText:=sqlstr2+quotedstr('%'+Edit1.Text+'%');
Active:=true;
if RecordCount>0 then
begin
money:=FieldByName('BookAmount').AsInteger*FieldByName('Price').AsFloat;
edit2.Text:=inttostr(RecordCount);
edit3.Text:=FloatTostr(RoundTo(money,-2));//四舍五入
{
Unit Math
Expression Value
RoundTo(1234567, 3) 1234000
RoundTo(1.234, -2) 1.23
RoundTo(1.235, -2) 1.24
RoundTo(1.245, -2) 1.24
Note: The behavior of RoundTo can be affected by the Set8087CW procedure or SetRoundMode function.
}
end;
end;
end
else
begin
Application.MessageBox('查询值不能为空格或为空!','出错提示',mb_ok);
abort;
end;
end;
procedure TfrmBookQuery.SpeedButton2Click(Sender: TObject);
begin
close;
end;
procedure TfrmBookQuery.RadioButton2Click(Sender: TObject);
begin
self.iniEdit;
end;
procedure TfrmBookQuery.RadioButton3Click(Sender: TObject);
begin
self.iniEdit;
end;
procedure TfrmBookQuery.RadioButton4Click(Sender: TObject);
begin
self.iniEdit;
end;
procedure TfrmBookQuery.Edit1Enter(Sender: TObject);
begin
self.iniEdit;
end;
procedure TfrmBookQuery.RadioButton1Click(Sender: TObject);
begin
self.iniEdit;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -