【delphi开源代码栏目提醒】:网学会员--在 delphi开源代码编辑为广大网友搜集整理了:HuanBookU.pas绩等信息,祝愿广大网友取得需要的信息,参考学习。
unit HuanBookU;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls,ADODB, DB, Grids, DBGrids,StrUtils,
ComCtrls;
type
THuanBookF = class(TForm)
StaticText1: TStaticText;
Edit1: TEdit;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
ListBoxWeiID: TListBox;
ListView1: TListView;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
ListBoxHuanID: TListBox;
ListBoxHuan: TListBox;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Edit1Exit(Sender: TObject);
procedure ListBoxHuanDblClick(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure ListView1DblClick(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure CGetLendBook(readercardid:string);
function CSaveHuan(readercardid:string):boolean;
procedure WMNCPaint(var Msg : TWMNCPaint); message WM_NCPAINT;
public
{ Public declarations }
end;
var
HuanBookF: THuanBookF;
implementation
{$R *.dfm}
uses DataModule,ShareU, MainU;
procedure THuanBookF.WMNCPaint(var Msg: TWMNCPaint);
begin
inherited;
draw(HuanBookF);
end;
function THuanBookF.CSaveHuan(readercardid:string):boolean;
var
Query:TADOQuery;
i:integer;
begin
Query:=TADOQuery.Create(self);
Query.Connection:=dm.ADOConnection1;
Query.SQL.Text:='update lend_book set state=0 where Readercardid=:readercardid '+
' and Bookid=:bookid and state=1';
Query.Parameters.ParamByName('readercardid').Value:=readercardid;
dm.ADOConnection1.BeginTrans;
try
for i:=0 to listboxhuanid.Items.Count-1 do
begin
Query.Parameters.ParamByName('bookid').Value:=listboxhuanid.Items.Strings[i];
Query.ExecSQL;
end;
dm.ADOConnection1.CommitTrans;
result:=true;
except
dm.ADOConnection1.RollbackTrans;
showmessage('还书失败!');
result:=false;
end;
query.Close;
query.Free;
end;
procedure THuanBookF.CGetLendBook(readercardid:string);
var
Query:TADOQuery;
begin
Query:=TADOQuery.Create(self);
Query.Connection:=dm.ADOConnection1;
Query.SQL.Text:='select bookid from lend_book where readercardid=:readercardid'+
' and state=:state';
Query.Parameters.ParamByName('readercardid').Value:=readercardid;
Query.Parameters.ParamByName('state').Value:=1;
Query.Open;
Query.First;
while not query.Eof do
begin
with listview1.Items.Add do
begin
listboxweiid.Items.Add(query.FieldByName('bookid').Value);
caption:=inttostr(listboxweiid.Items.Count)+')';
subitems.Add(DM.GetBookName(query.FieldByName('bookid').Value));
end;
query.Next;
end;
query.Close;
query.Free;
end;
procedure THuanBookF.FormClose(Sender: TObject; var Action: TCloseAction);
begin
HuanBookF:=nil;
action:=cafree;
end;
procedure THuanBookF.Edit1Exit(Sender: TObject);
begin
listview1.Items.Clear;
listboxweiid.Items.Clear;
listboxhuanid.Items.Clear;
listboxhuan.Items.Clear;
CGetLendBook(trim(Edit1.Text));
end;
procedure THuanBookF.ListBoxHuanDblClick(Sender: TObject);
begin
listboxhuanid.Items.Delete(listboxhuan.ItemIndex);
listboxhuan.DeleteSelected;
getOrder(ListBoxHuan);//ShareU-getOrder
end;
procedure THuanBookF.BitBtn2Click(Sender: TObject);
begin
if CSaveHuan(trim(edit1.Text)) then
begin
showmessage('还书成功!');
close;
end;
end;
procedure THuanBookF.ListView1DblClick(Sender: TObject);
var
str:string;
begin
if listboxhuanid.Items.IndexOf(listboxweiid.Items.Strings[listview1.Selected.Index])<0 then //没有则增加新的
begin
str:=listview1.Selected.SubItems.Strings[0];
listboxhuanid.Items.Add(listboxweiid.Items.Strings[listview1.Selected.Index]);
listboxhuan.Items.Add(inttostr(listboxhuan.Items.count+1)+')'+rightstr(str,length(str)-pos(')',str)));
end;
end;
procedure THuanBookF.BitBtn3Click(Sender: TObject);
begin
close;
end;
procedure THuanBookF.FormCreate(Sender: TObject);
begin
caption:='还书';
Icon:=mainf.Icon;
end;
end.