📄 datamodule.pas
字号:
end;
//修改用户密码
function TDM.ModifyPassword(username,newpass:string):boolean;
var
Query:TADOQuery;
begin
Query:=TADOQuery.Create(self);
Query.Connection:=ADOConnection1;
try
ADOConnection1.BeginTrans;
Query.SQL.Text:='update user_info set userpassword=:pass where username=:name';
Query.Parameters.ParamByName('name').Value:=username;
Query.Parameters.ParamByName('pass').Value:=newpass;
Query.ExecSQL;
Adoconnection1.CommitTrans;
result:=true;
except
Adoconnection1.RollbackTrans;
result:=false;
end;
Query.Close;
Query.Free;
end;
//删除图书数为0的所有图书信息
function TDM.DeleteBook(bookid:string):boolean;
var
Query:TADOQuery;
begin
//result:=false;
Query:=TADOQuery.Create(self);
Query.Connection:=ADOConnection1;
try
ADOConnection1.BeginTrans;
Query.SQL.Text:='delete from book_info where bookid=:id ';
Query.Parameters.ParamByName('id').Value:=bookid;
query.ExecSQL;
query.SQL.Clear;
Query.SQL.Text:='delete from book_stock where bookid=:id' ;
Query.Parameters.ParamByName('id').Value:=bookid;
query.ExecSQL;
dm.ADOConnection1.CommitTrans;
result:=true;
dm.InitAdoDatasetBookEdit; //刷新
except
dm.ADOConnection1.RollbackTrans;
result:=false;
end;
Query.Close;
query.Free;
end;
//获得库存中某书总数
function TDM.GetStockBookNum(bookid:string):integer;
var
Query:TADOQuery;
begin
result:=0;
Query:=TADOQuery.Create(self);
Query.Connection:=ADOConnection1;
Query.SQL.Text:='select bookinnumber,bookoutnumber from book_stock '+
'where bookid=:id';
Query.Parameters.ParamByName('id').Value:=bookid;
Query.Open;
while not Query.Eof do
begin
result:=result + Query.FieldByName('bookinnumber').AsInteger -
Query.FieldByName('bookoutnumber').AsInteger;
Query.Next;
end;
Query.Close;
Query.Free;
end;
//根据书类型获得类型名
function TDM.GetBookTypeName(typeid:string):string;
var
Query:TADOQuery;
begin
Query:=TADOQuery.Create(self);
Query.Connection:=ADOConnection1;
Query.SQL.Text:='select typename from book_type where booktypeid=:id';
Query.Parameters.ParamByName('id').Value:=typeid;
Query.Open;
result:=Query.FieldByName('typename').AsString;
Query.Close;
Query.Free;
end;
//根据书类型名获得类型ID
function TDM.GetBookTypeID(typename:string):string;
var
Query:TADOQuery;
begin
Query:=TADOQuery.Create(self);
Query.Connection:=ADOConnection1;
Query.SQL.Text:='select booktypeid from book_type where typename=:name';
Query.Parameters.ParamByName('name').Value:=typename;
Query.Open;
result:=Query.FieldByName('booktypeid').AsString;
Query.Close;
Query.Free;
end;
//获得某类图书在库中总数
function TDM.GetBookTypeNum(value:string):integer;
var
Query:TADOQuery;
begin
Query:=TADOQuery.Create(self);
Query.Connection:=ADOConnection1;
Query.SQL.Text:='select bookid from book_INFO where booktypeid=:id';
Query.Parameters.ParamByName('id').Value:=value;
Query.Open;
result:=query.RecordCount;
Query.Close;
Query.Free;
end;
//删除图书类型
function TDM.DeleteBookType(bookid:string):boolean;
var
Query:TADOQuery;
begin
Query:=TADOQuery.Create(self);
Query.Connection:=ADOConnection1;
Query.SQL.Add('select booktypeid from book_info where booktypeid='''+bookid+'''');
Query.Open;
if query.RecordCount>0 then //库中有此类的图书就不能删除
begin
result:=false;
messagedlg('有此类图书,不能删除此类!!',mtinformation,[mbyes],0);
Query.Close;
Query.Free;
exit;
end;
try
try
ADOconnection1.BeginTrans;
Query.SQL.Text:='delete from book_type where booktypeid=:id';
Query.Parameters.ParamByName('id').Value:=bookid;
Query.ExecSQL;
ADOConnection1.CommitTrans;
result:=true;
except
ADOConnection1.RollbackTrans;
result:=false;
messagedlg('删除失败!!',mtinformation,[mbyes],0);
end;
finally
Query.Close;
Query.Free;
end;
end;
//更新图书类型
function TDM.UpdateBookType(value1,value2:string):boolean;
var
Query:TADOQuery;
begin
ADOconnection1.BeginTrans;
Query:=TADOQuery.Create(self);
try
Query.Connection:=ADOConnection1;
Query.SQL.Text:='update book_type set typename=:name where booktypeid=:id';
Query.Parameters.ParamByName('name').Value:=value2;
Query.Parameters.ParamByName('id').Value:=value1;
Query.ExecSQL;
ADOConnection1.CommitTrans;
result:=true;
except
ADOConnection1.RollbackTrans;
result:=false;
end;
Query.Close;
Query.Free;
end;
//插入图书类型
function TDM.InsertBookType(value1,value2:string):boolean;
var
Query:TADOQuery;
begin
Query:=TADOQuery.Create(self);
Query.Connection:=ADOConnection1;
Query.SQL.Text:='insert into book_type (booktypeid,typename) values (:id,:name)';
Query.Parameters.ParamByName('name').Value:=value2;
Query.Parameters.ParamByName('id').Value:=value1;
try
ADOconnection1.BeginTrans;
Query.ExecSQL;
ADOConnection1.CommitTrans;
result:=true;
except
ADOConnection1.RollbackTrans;
result:=false;
end;
Query.Close;
Query.Free;
end;
//打开ADODATASET1
procedure TDM.InitAdoDatasetBookEdit;
begin
AdoDatasetBookEdit.Close;
AdoDatasetBookEdit.CommandText:=' select book_info.* ' +
' from Book_info,book_stock '+
' where book_info.bookid = book_stock.bookid ' +
' and book_stock.booklast=1 order by book_info.bookid asc';
AdoDatasetBookEdit.CommandType:=cmdtext;
AdoDatasetBookEdit.Open;
AdoDatasetBookEdit.Active:=true;
AdoDatasetBookEdit.Filtered:=false;
end;
//获得图书数
function TDM.CCheckBookNumber(bookid:string):boolean;
var
Query:TADOQuery;
begin
Query:=TADOQuery.Create(self);
Query.Connection:=ADOConnection1;
Query.SQL.Text:='select booknumber from book_stock where bookid=:id ' +
' and booklast=:last ' ;
Query.Parameters.ParamByName('id').Value:=bookid;
Query.Parameters.ParamByName('last').Value:=1;
query.Open;
if query.FieldByName('booknumber').AsInteger= 0 then
result:=true
else
result:=false;
Query.Close;
query.Free;
end;
//检查ID(通用)
function TDM.CCheckID(sql:string):boolean;
var
Query:TADOQuery;
begin
Query:=TADOQuery.Create(nil);
Query.Connection:=ADOConnection1;
query.SQL.Text:=sql;
query.Open;
if query.RecordCount >0 then
result:=true
else
begin
result:= false;
end;
query.Close;
query.Free;
end;
//根据书号获得书名
function TDM.GetBookName(bookid:string):string;
var
Query:TADOQuery;
begin
Query:=TADOQuery.Create(nil);
Query.Connection:=dm.ADOConnection1;
Query.SQL.Text:='select bookname from book_info where bookid=:bookid';
Query.Parameters.ParamByName('bookid').Value:=bookid;
Query.Open;
result:=Query.FieldByName('bookname').AsString;
Query.Close;
Query.Free;
end;
function TDM.GetAllBookNum:integer; // 获得库中图书总数
var
Query:TADOQuery;
begin
result:=0;
Query:=TADOQuery.Create(self);
Query.Connection:=ADOConnection1;
Query.SQL.Text:='select * from book_stock';
Query.Open;
while not Query.Eof do
begin
result:=result + Query.FieldByName('bookinnumber').AsInteger -
Query.FieldByName('bookoutnumber').AsInteger;
Query.Next;
end;
Query.Close;
Query.Free;;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -