⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bookqueryunit.pas

📁 是一个Delphi的教材管理系统,内容很全面详细
💻 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 + -