queryreturn.pas
来自「完整的delphi书籍源代码,大家有空的时候自己慢慢看看」· PAS 代码 · 共 164 行
PAS
164 行
unit QueryReturn;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBTables, DB, Mask, DBCtrls, Grids, DBGrids, StdCtrls, Buttons;
type
TQryRtnFrm = class(TForm)
Edit1: TEdit;
Label1: TLabel;
BitBtn1: TBitBtn;
DBGrid1: TDBGrid;
Label2: TLabel;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Database1: TDatabase;
Table1: TTable;
DataSource1: TDataSource;
DataSource2: TDataSource;
Table2: TTable;
Table3: TTable;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
Query1: TQuery;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
{ Private declarations }
public
{ Public declarations }
end;
var
QryRtnFrm: TQryRtnFrm;
implementation
{$R *.dfm}
procedure TQryRtnFrm.BitBtn1Click(Sender: TObject);
begin
Table1.open;
if not Table1.FindKey([edit1.Text]) then
begin
showmessage('学号错误!');
Edit1.Clear;
Edit1.SetFocus;
end
else
begin
with Table2 do
begin
close;
IndexFieldNames:='StuNo';
Open;
FindKey([edit1.text]);
Dbgrid1.Columns[0].Width:=64;
Dbgrid1.Columns[1].Width:=64;
Dbgrid1.Columns[2].Width:=64;
Dbgrid1.Columns[3].Width:=64;
end;
Table3.Active:=True;
end;
end;
procedure TQryRtnFrm.BitBtn3Click(Sender: TObject);
begin
close;
end;
procedure TQryRtnFrm.BitBtn2Click(Sender: TObject);
var BookNo,QueryStr,BDateStr,RDateStr:string;
begin
BookNo:=DbEdit4.Text;
With Table3 do
begin
close;
IndexFieldNames:='BookNo';
Open;
FindKey([BookNo]);
If FieldByName('ordered').AsBoolean=True then
begin
Edit;
SetFields([nil,nil,nil,nil,nil,True,False]);
Post;
With Table2 do
begin
close;
IndexFieldNames:='BookNo';
Open;
FindKey([BookNo]);
Edit;
if FieldByName('Ordered').AsBoolean=True then
begin
BDateStr:=formatdatetime('yyyy"-"mm"-"dd',Date);
RDateStr:=copy(BDateStr,1,5)+inttostr(strtoint(copy(BDateStr,6,2))+1)+copy(BDateStr,8,3);
SetFields([nil,nil,nil,BDateStr,RDateStr,False,False]);
Post;
end
else
Delete;
end;
end
else
begin
Edit;
SetFields([nil,nil,nil,nil,nil,False,False]);
Post;
With Table2 do
begin
close;
IndexFieldNames:='BookNo';
Open;
FindKey([BookNo]);
Delete;
end;
end;
showmessage('已经完成图书归还!');
end;
With query1 do
begin
close;
Sql.Clear;
QueryStr:='Select * from record Where StuNo='+''''+Edit1.text+'''';
Sql.Add(QueryStr);
Open;
if recordcount<5 then
begin
with Table1 do
begin
IndexFieldNames:='StuNo';
Close;
Readonly:=False;
Open;
FindKey([Edit1.text]);
Edit;
SetFields([nil,nil,nil,nil,nil,nil,nil,nil,True]);
Post;
end;
end;
end;
end;
procedure TQryRtnFrm.FormShow(Sender: TObject);
begin
QryRtnFrm.caption:='查询借阅信息、归还图书['+datetostr(date)+']';
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?