www.pudn.com > jiaocaiguanlixitongdaima.rar > 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.