📄 uqueryf.pas
字号:
unit uQueryF;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls, dbtables, ExtCtrls, Menus;
type
TQueryF = class(TFrame)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Button1: TButton;
GroupBox1: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
StaticText1: TStaticText;
Button2: TButton;
StaticText2: TStaticText;
CheckBox1: TCheckBox;
TabSheet3: TTabSheet;
GroupBox2: TGroupBox;
RadioButton5: TRadioButton;
RadioButton6: TRadioButton;
CheckBox2: TCheckBox;
StaticText3: TStaticText;
Edit2: TEdit;
Button3: TButton;
ListView2: TListView;
StaticText4: TStaticText;
ListView1: TListView;
GroupBox3: TGroupBox;
RadioButton7: TRadioButton;
RadioButton8: TRadioButton;
CheckBox3: TCheckBox;
Edit3: TEdit;
StaticText5: TStaticText;
Button4: TButton;
ListView3: TListView;
StaticText6: TStaticText;
Button5: TButton;
ComboBox2: TComboBox;
RadioButton9: TRadioButton;
ListBox1: TListBox;
GroupBox4: TGroupBox;
ComboBox1: TComboBox;
RadioButton10: TRadioButton;
RadioButton11: TRadioButton;
Panel1: TPanel;
MinEdit: TEdit;
MaxEdit: TEdit;
StaticText7: TStaticText;
StaticText8: TStaticText;
Button9: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button10: TButton;
SaveDialog1: TSaveDialog;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure RadioButton8Click(Sender: TObject);
procedure RadioButton7Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure RadioButton4Click(Sender: TObject);
procedure RadioButton9Click(Sender: TObject);
procedure RadioButton5Click(Sender: TObject);
procedure RadioButton6Click(Sender: TObject);
procedure RadioButton10Click(Sender: TObject);
procedure RadioButton11Click(Sender: TObject);
procedure ComboBox2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ListView1DblClick(Sender: TObject);
procedure ListView2DblClick(Sender: TObject);
procedure ListView3DblClick(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
function CheckCode(Code:string):boolean;
procedure SetBookSQL(var Query : TQuery);
procedure SetBookParam(var Query : TQuery;Param : string);
function GetOwnCount(UserID : string):integer;
procedure BookView;
procedure SetUserSQL(var Query : TQuery);
procedure SetUserParam(var Query : TQuery;Param : string);
procedure UserView;
procedure SetLandSQL(var Query : TQuery);
procedure SetLandParam(var Query : TQuery;Param : string);
procedure LandView;
procedure PrintLandUser(Printing : boolean);
constructor Create(AOwner : TComponent);override;
end;
var
QueryF : TQueryF;
implementation
uses uGloabVar, uMainF , Printers, uViewF;
{$R *.DFM}
function TQueryF.CheckCode(Code: string): boolean;
begin
if Length(ComboBox2.Text)<> CodeLength then
Result := False
else Result:= True;
end;
procedure TQueryF.SetBookParam(var Query: TQuery;Param : string);
begin
if CheckBox1.Checked and CheckBox1.Enabled then
Param := Param +'%';
if RadioButton1.Checked then
Query.ParamByName('Code').AsString := Param;
if RadioButton2.Checked then
Query.ParamByName('Name').AsString := Param;
if RadioButton3.Checked then
Query.ParamByName('Concern').AsString := Param;
if RadioButton4.Checked then
Query.ParamByName('Author').AsString := Param;
if RadioButton9.Checked then
Query.ParamByName('Class').AsString := Param;
end;
procedure TQueryF.SetBookSQL(var Query: TQuery);
begin
Query.SQL.Clear;
if RadioButton1.Checked then
Query.SQL.Add('select * from Book where Code like :Code');
if RadioButton2.Checked then
Query.SQL.Add('select * from Book where Name like :Name');
if RadioButton3.Checked then
Query.SQL.Add('select * from Book where Concern like :Concern');
if RadioButton4.Checked then
Query.SQL.Add('select * from Book where Author like :Author');
if RadioButton9.Checked then
Query.SQL.Add('select * from Book where Class like :Class');
end;
procedure TQueryF.BookView;
var
Query : TQuery;
OwnQuery : TQuery;
begin
ListView1.Items.Clear;
OwnQuery := TQuery.Create(nil);
OwnQuery.DatabaseName := DBName;
OwnQuery.SQL.Add('select * from Owner where Code =:Code');
Query := TQuery.Create(nil);
Query.DatabaseName := DBName;
SetBookSQL(Query);
if RadioButton9.Checked then
if ComboBox2.ItemIndex = -1 then
SetBookParam(Query,'')
else SetBookParam(Query,ListBox1.Items[ComboBox2.ItemIndex])
else SetBookParam(Query,ComboBox2.Text);
Query.Open;
while not Query.Eof do
begin
with ListView1.Items.Add do
begin
Caption := Query.FieldByName('Code').AsString;
SubItems.Add(Query.FieldByName('Name').AsString);
SubItems.Add(Query.FieldByName('Author').AsString);
SubItems.Add(Query.FieldByName('concern').AsString);
SubItems.Add(Query.FieldByName('OutDate').AsString);
SubItems.Add(Query.FieldByName('Cost').AsString);
SubItems.Add(Query.FieldByName('Memo').AsString);
try
OwnQuery.ParamByName('Code').AsString := Caption;
OwnQuery.Close;
OwnQuery.Open;
SubItems.Add(OwnQuery.FieldByName('UserID').AsString);
SubItems.Add(OwnQuery.FieldByName('LandDate').AsString);
except
SubItems.Add('未知');
SubItems.Add('未知');
end;
end;
Query.Next;
end;
try
OwnQuery.Close;
OwnQuery.Free;
except
end;
StaticText2.Caption:= '共'+IntToStr(Query.RecordCount)+'条记录';
Query.Close;
Query.Free;
end;
procedure TQueryF.Button1Click(Sender: TObject);
begin
QueryF.Parent := nil;
MainF.Caption := '图书管理系统';
end;
procedure TQueryF.Button2Click(Sender: TObject);
begin
try
BookView;
except
MessageDlg('查询失败',mtError,[mbok],0);
end;
end;
procedure TQueryF.SetUserParam(var Query: TQuery; Param: string);
begin
if CheckBox2.Checked and CheckBox2.Enabled then
Param := Param +'%';
if RadioButton5.Checked then
Query.ParamByName('UserID').AsString := Param;
if RadioButton6.Checked then
Query.ParamByName('Name').AsString := Param;
end;
procedure TQueryF.SetUserSQL(var Query: TQuery);
begin
Query.SQL.Clear;
if RadioButton5.Checked then
Query.SQL.Add('select * from Userb where UserID like :UserID');
if RadioButton6.Checked then
Query.SQL.Add('select * from Userb where Name like :Name');
end;
procedure TQueryF.UserView;
var
Query : TQuery;
GroupQuery : TQuery;
begin
ListView2.Items.Clear;
GroupQuery := TQuery.Create(nil);
GroupQuery.DatabaseName := DBName;
GroupQuery.SQL.Add('select Des from Groupb where GroupID =:GroupID');
Query := TQuery.Create(nil);
Query.DatabaseName := DBName;
SetUserSQL(Query);
SetUserParam(Query,Edit2.Text);
Query.Open;
while not Query.Eof do
begin
with ListView2.Items.Add do
begin
Caption := Query.FieldByName('UserID').AsString;
SubItems.Add(Query.FieldByName('Name').AsString);
if Query.FieldByName('Sex').AsString = '1' then
SubItems.Add('女')
else SubItems.Add('男');
try
GroupQuery.ParamByName('GroupID').AsString := Query.FieldByName('GroupID').AsString;
GroupQuery.Close;
GroupQuery.Open;
SubItems.Add(GroupQuery.FieldByName('Des').AsString);
except
SubItems.Add('未知');
end;
SubItems.Add(IntToStr(GetOwnCount(Caption)));
SubItems.Add(Query.FieldByName('IDCard').AsString);
end;
Query.Next;
end;
try
GroupQuery.Close;
GroupQuery.Free;
except
end;
StaticText4.Caption:= '共'+IntToStr(Query.RecordCount)+'条记录';
Query.Close;
Query.Free;
end;
procedure TQueryF.Button3Click(Sender: TObject);
begin
UserView;
end;
function TQueryF.GetOwnCount(UserID: string): integer;
var
Query : TQuery;
begin
try
Query := TQuery.Create(nil);
Query.DataBaseName := DBName;
Query.SQL.Add('select Count(UserID) from Owner where UserID =:UserID');
Query.ParamByName('UserID').AsString := UserID;
Query.Open;
Result := Query.Fields[0].Value;
Query.Close;
Query.Free;
except
Result := 0;
end;
end;
procedure TQueryF.RadioButton8Click(Sender: TObject);
begin
RadioButton10.Enabled := True;
RadioButton11.Enabled := True;
if RadioButton11.Checked then
begin
Panel1.Visible := True;
Edit3.Visible := False;
ComboBox1.Enabled := False;
ComboBox1.Color := clBtnFace;
end
else begin
Panel1.Visible := False;
Edit3.Visible := True;
ComboBox1.Enabled := True;
ComboBox1.Color := clWindow;
end;
CheckBox3.Enabled := False;
end;
procedure TQueryF.RadioButton7Click(Sender: TObject);
begin
ComboBox1.Enabled := False;
ComboBox1.Color := clBtnFace;
CheckBox3.Enabled := True;
RadioButton10.Enabled := False;
RadioButton11.Enabled := False;
Edit3.MaxLength := UserIDLength;
Panel1.Visible := False;
Edit3.Visible :=True;
end;
constructor TQueryF.Create(AOwner: TComponent);
var
Query : TQuery;
begin
inherited Create(AOwner);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -