亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? datamodule.pas

?? 圖書管理系統
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
unit DataModule;

interface

uses
  SysUtils, Classes, DB, ADODB,Forms,variants,Dialogs;

type
  TDM = class(TDataModule)
    ADOConnection1: TADOConnection;
    ADODataSetBookEdit: TADODataSet;
    DataSource1: TDataSource;
    ADODataSet2: TADODataSet;
    ADODataSetLendBook: TADODataSet;
    DataSourceLendBook: TDataSource;
    ADODataSetBookType: TADODataSet;
    DataSourceBookType: TDataSource;
    ADODataSetBookQuery: TADODataSet;
    ADODataSetBookStockQuery: TADODataSet;
    ADODataSetReaderQuery: TADODataSet;
    ADODataSetLendBookQuery: TADODataSet;
    ADODataSetUserQuery: TADODataSet;
  private
    { Private declarations }
  public
    { Public declarations }
    procedure InitAdoDatasetBookEdit;
    function CCheckBookNumber(bookid:string):boolean; //根據書ID獲得書數
    function CCheckID(sql:string):boolean;            //傳入SQL檢測ID是否存在(通用)
    function GetBookName(bookid:string):string;       //根據書ID獲得書名
    function InsertBookType(value1,value2:string):boolean;
    function UpdateBookType(value1,value2:string):boolean;
    function DeleteBookType(bookid:string):boolean;   //刪除圖書類型
    function GetBookTypeNum(value:string):integer;  //獲得某類圖書在庫中總數
    function GetBookTypeName(typeid:string):string; //根據書類型ID獲得類型名
    function GetBookTypeID(typename:string):string; // 根據書類型名獲得類型ID
    function GetStockBookNum(bookid:string):integer;//獲得庫存中某書總數
    function DeleteBook(bookid:string):boolean;     //刪除圖書數為0的所有圖書信息
    function ModifyPassword(username,newpass:string):boolean;    //修改用戶密碼
    function CheckUserPassword(username,password:string):boolean;//檢測密碼正確性
    function CheckUserName(username:string):boolean;             //檢測用戶名
    function GetUserPurviewMenu(username:string):boolean;        //獲得用戶權限可使用菜單
    function GetMenuName(menuid:string):string;                  //通過菜單ID獲得菜單名
    function GetReaderEducationName(educationid:string):string;  //通過學歷ID獲得學歷名
    function GetReaderEducationID(educationname:string):string;  //通過學歷ID獲得學歷名
    function GetReaderTypeName(typeid:string):string;            //通過讀者類型ID獲得類型名
    function GetReaderTypeID(typeNAME:string):string;            //通過讀者類型名獲得類型ID
    function GetReaderLendBookNum(readercardid:string):integer;  //通過讀者卡號獲得讀者所借書數(未歸還書數)
    function GetReaderLendBookCount(readercardid:string):integer;//通過卡號返回此卡借書總數
    function CheckReaderLendBookName(readercardid,bookid:string):boolean;//檢查未歸還書中有無此書
    function SaveUserLongin(username:string;longin:boolean):boolean;     //登陸日志
    function GetAllBookNum:integer; // 獲得庫中圖書總數
  end;

var
  DM: TDM;

implementation

uses MainU,ShareU;
{$R *.dfm}


//保存登陸日志
function TDM.SaveUserLongin(username:string;longin:boolean):boolean;
var
  Query:TADOQuery;
begin
     Query:=TADOQuery.Create(self);
     Query.Connection:=ADOConnection1;
     try
     dm.ADOConnection1.BeginTrans;
     if longin then
     begin
       Query.SQL.Text:='insert into User_LoginLog (username,uptime,downtime)'+
                     'values (:username,:uptime,:downtime)';
       Query.Parameters.ParamByName('username').Value:=username;
       Query.Parameters.ParamByName('uptime').Value:=CurUserLonginTime;
       Query.Parameters.ParamByName('downtime').Value:=CurUserLonginTime;
     end
     else
     begin
       Query.SQL.Text:='update User_LoginLog set downtime=:downtime where'+
                       ' username=:username and uptime=:uptime';
       Query.Parameters.ParamByName('downtime').Value:=now;
       Query.Parameters.ParamByName('username').Value:=username;
       Query.Parameters.ParamByName('uptime').Value:=CurUserLonginTime;
     end;
     Query.ExecSQL;
     dm.ADOConnection1.CommitTrans;
     result:=true;
     except
       dm.ADOConnection1.RollbackTrans;
       result:=false;
     end;
     
     Query.Close;
     Query.Free;
end;

//檢查未歸還書中有無此書
function TDM.CheckReaderLendBookName(readercardid,bookid:string):boolean;
var
  Query:TADOQuery;
begin
   Query:=TADOQuery.Create(self);
   Query.Connection:=dm.ADOConnection1;
   Query.SQL.Text:='select bookid from lend_book where readercardid=:id '+
                   'and bookid=:bookid and state=1';
   Query.Parameters.ParamByName('id').Value:=readercardid;
   Query.Parameters.ParamByName('bookid').Value:=bookid;
   Query.Open;
   if not (query.RecordCount >0) then
       Result:=false  //沒
   else
       result:=true;  //有
   Query.Close;
   Query.Free;
end;

//通過卡號返回此卡借書總數
function TDM.GetReaderLendBookCount(readercardid:string):integer;
var
  Query:TADOQuery;
begin
   Query:=TADOQuery.Create(self);
   Query.Connection:=dm.ADOConnection1;
   Query.SQL.Text:='select lendbook from reader_type where readertypeid in '+
                   ' (select readertypeid from reader_info where '+
                   ' readercardid=:readercardid)';
   Query.Parameters.ParamByName('readercardid').Value:=readercardid;
   Query.Open;
   Result:=query.FieldValues['lendbook'];
   Query.Close;
   Query.Free;
end;

//通過讀者卡號獲得讀者所借書數(未歸還書數)
function TDM.GetReaderLendBookNum(readercardid:string):integer;
var
  Query:TADOQuery;
begin
   Query:=TADOQuery.Create(self);
   Query.Connection:=dm.ADOConnection1;
   Query.SQL.Text:='select readercardid from lend_book where readercardid=:'+
                   'readercardid and state=:state';
   Query.Parameters.ParamByName('readercardid').Value:=readercardid;
   Query.Parameters.ParamByName('state').Value:=1;
   Query.Open;
   Result:=Query.RecordCount;
   Query.Close;
   Query.Free;
end;

//通過學歷ID獲得學歷名
function TDM.GetReaderEducationID(educationname:string):string;
var
  Query:TADOQuery;
begin
    Query:=TADOQuery.Create(self);
    Query.Connection:=ADOConnection1;
    Query.SQL.Text:='select educationid from reader_education where '+
                           ' educationname=:name';
    Query.Parameters.ParamByName('name').Value:=educationname;
    Query.Open;
    result:=trim(Query.FieldValues['educationid']);
    Query.Close;
    Query.Free;
end;

//通過類型ID獲得類型名
function TDM.GetReaderTypeName(typeid:string):string;
var
  Query:TADOQuery;
begin
    Query:=TADOQuery.Create(self);
    Query.Connection:=ADOConnection1;
    Query.SQL.Text:='select typename from reader_type where '+
                           ' readertypeid=:id';
    Query.Parameters.ParamByName('id').Value:=typeid;
    Query.Open;
    result:=trim(Query.FieldValues['typename']);
    Query.Close;
    Query.Free;
end;

//通過類型ID獲得類型名
function TDM.GetReaderTypeID(typename:string):string;
var
  Query:TADOQuery;
begin
    Query:=TADOQuery.Create(self);
    Query.Connection:=ADOConnection1;
    Query.SQL.Text:='select readertypeid from reader_type where '+
                           ' typename=:name';
    Query.Parameters.ParamByName('name').Value:=typename;
    Query.Open;
    result:=trim(Query.FieldValues['readertypeid']);
    Query.Close;
    Query.Free;
end;

//通過學歷ID獲得學歷名
function TDM.GetReaderEducationName(educationid:string):string;
var
  Query:TADOQuery;
begin
    Query:=TADOQuery.Create(self);
    Query.Connection:=ADOConnection1;
    Query.SQL.Text:='select educationname from reader_education where '+
                           ' educationid=:id';
    Query.Parameters.ParamByName('id').Value:=educationid;
    Query.Open;
    result:=trim(Query.FieldValues['educationname']);
    Query.Close;
    Query.Free;
end;

//通過菜單ID獲得菜單名
function TDM.GetMenuName(menuid:string):string;
var
  Query:TADOQuery;
begin
    Query:=TADOQuery.Create(self);
    Query.Connection:=ADOConnection1;
    Query.SQL.Text:='select menuname from menu_info where menuid=:id';
    Query.Parameters.ParamByName('id').Value:=menuid;
    Query.Open;
    result:=trim(Query.FieldValues['menuname']);
    Query.Close;
    Query.Free;
end;

//獲得用戶權限可使用菜單
function TDM.GetUserPurviewMenu(username:string):boolean;
var
  Query:TADOQuery;
  tempmenuname:string;
begin
    Query:=TADOQuery.Create(self);
    Query.Connection:=ADOConnection1;
    Query.SQL.Text:='select menuid from user_purview where username=:name';
    Query.Parameters.ParamByName('name').Value:=username;
    Query.Open;
    Query.First;
    while not Query.Eof do
    begin
        tempmenuname:=GetMenuName(Query.FieldByName('menuid').AsString);
        EnabledMenu(tempmenuname);
        Query.Next;
    end;
    result:=true;
    Query.Close;
    Query.Free;
end;

//檢測用戶名
function TDM.CheckUserName(username:string):boolean;
var
  Query:TADOQuery;
begin
    Query:=TADOQuery.Create(self);
    Query.Connection:=ADOConnection1;

    Query.SQL.Text:='select username from user_info where username=:name';
    Query.Parameters.ParamByName('name').Value:=username;
    Query.Open;
    if query.RecordCount=1 then
      result:=true
    else
      result:=false;
  Query.Close;
  Query.Free;
end;

//檢測密碼正確性
function TDM.CheckUserPassword(username,password:string):boolean;
var
  Query:TADOQuery;
begin
    Query:=TADOQuery.Create(self);
    Query.Connection:=ADOConnection1;

    Query.SQL.Text:='select userpassword from user_info where username=:name';
    Query.Parameters.ParamByName('name').Value:=username;
    Query.Open;
    if trim(Query.FieldByName('userpassword').Value)=password then
      result:=true
    else
      result:=false;
  Query.Close;
  Query.Free;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91免费观看国产| 久久66热偷产精品| 91福利在线免费观看| 亚洲精品成人a在线观看| 97精品电影院| 亚洲一区二区精品视频| 欧美久久婷婷综合色| 国产一区二区不卡| 国产欧美精品日韩区二区麻豆天美| 韩国精品免费视频| 中日韩免费视频中文字幕| 一本大道综合伊人精品热热| 亚洲成年人网站在线观看| 久久综合色天天久久综合图片| 国产精品123| 一区二区三区高清| 日韩美女在线视频 | 精品福利一二区| 豆国产96在线|亚洲| 亚洲一区二区三区免费视频| 精品欧美一区二区三区精品久久| 国产成人精品在线看| 亚洲自拍偷拍欧美| 久久久精品蜜桃| 在线观看亚洲专区| 国产乱码精品1区2区3区| 亚洲男人的天堂网| 久久综合九色综合97婷婷女人| 色综合一区二区| 国内精品自线一区二区三区视频| 亚洲精品免费视频| 久久精品亚洲麻豆av一区二区 | 久久丝袜美腿综合| 欧美影院一区二区| 国产成人丝袜美腿| 日韩影院在线观看| 18涩涩午夜精品.www| 精品国产凹凸成av人网站| 一本色道久久加勒比精品 | 国产成人精品免费| 青青草原综合久久大伊人精品 | 久久色在线观看| 在线日韩一区二区| 国产suv精品一区二区三区| 26uuu欧美日本| 欧美激情一区二区三区不卡| 97久久人人超碰| 久久99精品久久只有精品| 亚洲乱码国产乱码精品精的特点| 日韩一区国产二区欧美三区| 欧洲精品一区二区| 99精品热视频| 粉嫩一区二区三区性色av| 高清成人在线观看| 丝袜美腿成人在线| 亚洲午夜一区二区| 中文字幕第一区第二区| 欧美一二三区精品| 51午夜精品国产| 色婷婷久久一区二区三区麻豆| 成人午夜伦理影院| 国产成人99久久亚洲综合精品| 久久精品国产色蜜蜜麻豆| 日本vs亚洲vs韩国一区三区二区| 洋洋av久久久久久久一区| 中文字幕日韩一区| 国产精品视频yy9299一区| 国产校园另类小说区| 国产午夜亚洲精品理论片色戒| 精品国产91久久久久久久妲己| 88在线观看91蜜桃国自产| 欧美精品高清视频| 欧美精品日韩综合在线| 在线播放中文一区| 欧美日韩国产小视频在线观看| 91久久精品网| 欧美亚洲综合久久| 在线播放视频一区| 欧美一区午夜精品| 日韩视频一区二区在线观看| 91麻豆精品国产91久久久 | 国产精品人成在线观看免费| www激情久久| 国产亚洲综合在线| 欧美激情综合网| 日韩美女视频一区二区| 综合色天天鬼久久鬼色| 最近中文字幕一区二区三区| 日韩美女久久久| 亚洲va天堂va国产va久| 日本特黄久久久高潮| 精品一区二区综合| 国产999精品久久久久久| 91网站最新网址| 欧美亚洲禁片免费| 欧美一区二区精品| 日本一区二区三级电影在线观看| 国产精品丝袜在线| 一二三区精品视频| 久久成人免费电影| 欧美日韩国产另类一区| 欧美日韩国产另类一区| 精品99一区二区| 中文字幕一区二区三区在线不卡 | 日韩一区二区在线观看视频| 精品粉嫩aⅴ一区二区三区四区| 久久久精品国产99久久精品芒果 | 一区二区免费在线| 轻轻草成人在线| 成人成人成人在线视频| 在线视频你懂得一区| 精品国产一区二区三区四区四 | 一区二区三区日韩欧美精品| 天堂久久一区二区三区| 国产精品资源站在线| 91国产福利在线| 久久久综合精品| 亚洲一区二区精品久久av| 激情综合色丁香一区二区| 99久久精品国产网站| 欧美一级二级三级蜜桃| 亚洲区小说区图片区qvod| 青青草一区二区三区| 99免费精品在线| 欧美一区二区三区日韩| 亚洲精品v日韩精品| 国内成+人亚洲+欧美+综合在线| 91国在线观看| 久久精品免视看| 麻豆精品一区二区综合av| 99精品欧美一区二区蜜桃免费 | 久久久青草青青国产亚洲免观| 一区二区三区高清在线| 粉嫩av亚洲一区二区图片| 91麻豆精品国产91久久久久久| 亚洲欧洲成人精品av97| 久久99精品久久久久| 欧美亚洲丝袜传媒另类| 国产精品国模大尺度视频| 秋霞午夜av一区二区三区| 色综合视频在线观看| 国产精品久久午夜夜伦鲁鲁| 久久se这里有精品| 91精品国产高清一区二区三区| 一区二区三区欧美亚洲| 色综合中文字幕国产 | 丝袜脚交一区二区| 91官网在线免费观看| 亚洲婷婷在线视频| 成人精品视频.| 国产人成亚洲第一网站在线播放| 免费亚洲电影在线| 91精品一区二区三区久久久久久| 亚洲曰韩产成在线| 91免费看视频| 日韩美女啊v在线免费观看| 成人精品国产一区二区4080 | 国产精品嫩草影院av蜜臀| 国产一区二区网址| 精品精品国产高清一毛片一天堂| 蜜桃视频一区二区三区在线观看| 5566中文字幕一区二区电影| 午夜私人影院久久久久| 欧美唯美清纯偷拍| 性感美女极品91精品| 欧美疯狂做受xxxx富婆| 日韩福利电影在线观看| 日韩一级精品视频在线观看| 奇米影视在线99精品| 精品国产一区二区三区久久影院| 精品亚洲国内自在自线福利| 欧美精品一区二区蜜臀亚洲| 精彩视频一区二区| 精品国产免费久久| 国产精品2024| 中文字幕的久久| 99re在线视频这里只有精品| 日韩毛片一二三区| 91成人在线免费观看| 日韩精品成人一区二区在线| 日韩欧美第一区| 国产91丝袜在线18| 国产精品久久久久影院| 91在线精品秘密一区二区| 亚洲曰韩产成在线| 日韩欧美三级在线| 国产 日韩 欧美大片| 亚洲精品乱码久久久久久日本蜜臀| 91福利视频网站| 蜜臀国产一区二区三区在线播放| 亚洲精品一区二区三区四区高清| 国产成人av福利| 亚洲国产成人av| 久久欧美一区二区| 色综合亚洲欧洲| 日本麻豆一区二区三区视频| 国产日韩欧美麻豆| 91偷拍与自偷拍精品| 五月天激情综合| 亚洲国产电影在线观看|