freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于web的書(shū)庫(kù)檢索系統(tǒng)畢業(yè)設(shè)計(jì)-資料下載頁(yè)

2025-06-19 15:59本頁(yè)面
  

【正文】 可以加密視圖,但不能加密查詢。視圖可以使用TransactSQL創(chuàng)建,使用的是CREATE VIEW語(yǔ)句。語(yǔ)法如下:CREATE VIEW view_name[(column[,...n])][WITHview_attribute[,...n]]ASselect_statement[WITH CHECK OPTION]其中參數(shù)介紹如下:view_name:視圖的名稱。column:定義視圖中的字段名。如果沒(méi)有指定,則視圖字段將獲得與SELECT語(yǔ)句中的字段相同的名稱。但對(duì)于以下情況則必須指定字段名:視圖是從多個(gè)表中產(chǎn)生的,對(duì)于表中有數(shù)據(jù)列重名時(shí)。當(dāng)列是從算術(shù)表達(dá)式、函數(shù)或常量派生得到的。當(dāng)視圖中的某列不同于源表中列的名稱時(shí)。WITHview_attribute:其中view_attribute有以下3種參數(shù)。ENCRYPTION:表示對(duì)視圖文本進(jìn)行加密。SCHEMABINDING:將視圖綁定到架構(gòu)上。指定SCHEMABINDING時(shí),select_statement必須包含所引用的表、視圖或用戶定義函數(shù)的兩部分名稱()。VIEW_METADATA:表示如果某一查詢中引用該視圖且要求返回瀏覽模式的元數(shù)據(jù)時(shí),那么SQL Server將向DBLIB和OLB DB APIS返回視圖的元數(shù)據(jù)信息,而不是一個(gè)基表或表。AS:視圖要執(zhí)行的操作。select_statement:定義視圖的查詢語(yǔ)句。該語(yǔ)句可以引用多個(gè)表或其他視圖。在CREATE VIEW語(yǔ)句中,對(duì)于查詢語(yǔ)句有以下限制。不能包含COMPUTE或COMPUTE BY子句。不能包含ORDER BY子句,除非在SELECT語(yǔ)句的選擇列表中也有一個(gè)TOP子句。不能包含INTO關(guān)鍵字。不能引用臨時(shí)表或變量。WITH CHECK OPTION:規(guī)定在視圖上執(zhí)行的所有數(shù)據(jù)修改語(yǔ)句都必須符合由select_statement設(shè)置的準(zhǔn)則。通過(guò)視圖修改記錄,WITH CHECK OPTION可確保提交修改后,仍可通過(guò)視圖效果看到修改的數(shù)據(jù)。使用CREATE VIEW語(yǔ)句創(chuàng)建視圖時(shí),只要在查詢分析器中寫入相應(yīng)的SELECT語(yǔ)句即可。本程序中的創(chuàng)建視圖是為了將圖書(shū)信息表中的圖書(shū)類型編號(hào)和書(shū)架編號(hào)替換成相應(yīng)的文本。代碼如下:create view view_bookInfoasselect ,,, from tb_bookInfo as a inner join tb_bookType as b on = inner join tb_bookcase as c on = 查看圖書(shū)詳細(xì)信息頁(yè)面的實(shí)現(xiàn)在頁(yè)面的加載事件中,判斷用戶是否登錄,如果用戶已經(jīng)登錄,則判斷此用戶是否擁有管理此頁(yè)面的權(quán)限,擁有此權(quán)限將調(diào)用自定義bindBook方法顯示所有圖書(shū)詳細(xì)信息。: 查看圖書(shū)詳細(xì)信息頁(yè)面的實(shí)現(xiàn)流程圖實(shí)現(xiàn)代碼如下:protected void Page_Load(object sender, EventArgs e) { if (Session[userName] != null) //判斷管理員是否登錄 { if (getSet()) //判斷是否擁有權(quán)限 { bindBook()。 //自定義方法顯示圖書(shū)詳細(xì)信息 } else (scriptalert(39。您沒(méi)有此權(quán)限39。)。location=39。39。/script)。 } else { ()。 //返回到登錄頁(yè)面 } }在自定義bindBook方法中,調(diào)用數(shù)據(jù)庫(kù)操作類中的getDataset方法獲取圖書(shū)詳細(xì)信息。將GridView控件的數(shù)據(jù)庫(kù)設(shè)置為getDataset方法返回的值并設(shè)置主鍵字段。在GridView控件的RowDataBound事件中,將圖書(shū)類型編號(hào)和書(shū)架編號(hào)替換成文本。在此事件中獲取圖書(shū)類型和書(shū)架的編號(hào),通過(guò)編號(hào)在數(shù)據(jù)庫(kù)中找到相應(yīng)的名稱,并將其替換。刪除圖書(shū)信息在GridView控件的RowDeleting事件中實(shí)現(xiàn),在此事件中獲取該行圖書(shū)信息的條形碼,根據(jù)此條形碼刪除此條圖書(shū)信息。getSet自定義方法用來(lái)判斷此用戶是否擁有管理此頁(yè)面的權(quán)限,此方法返回一個(gè)布爾類型的值。當(dāng)此值為True時(shí)表示用戶擁有管理此頁(yè)面的權(quán)限,為False則沒(méi)有管理此頁(yè)面的權(quán)限。實(shí)現(xiàn)代碼如下:public bool getSet() { string userName = Session[userName].ToString()。 //獲取管理員登錄名 string sql = select * from tb_admSet where userName=39。 + userName + 39。 SqlDataReader sdr = (sql)。 ()。 //讀取一條記錄 return (sdr[systemSet])。 //返回是否擁有權(quán)限}為了方便圖書(shū)信息的查看和頁(yè)面性能的提高,使用了GridView控件自帶分頁(yè)功能,此功能需要設(shè)置AllowPaging屬性為True,并在GridView控件的PageIndexChanging事件中設(shè)置當(dāng)前頁(yè)面的索引。實(shí)現(xiàn)代碼如下:protected void gvBookManage_PageIndexChanging(object sender, GridViewPageEventArgs e) { = 。 //設(shè)置當(dāng)前頁(yè)的索引 ()。 //重新綁定GridView控件} 添加和修改圖書(shū)信息頁(yè)面的實(shí)現(xiàn)在頁(yè)面加載事件中根據(jù)圖書(shū)管理頁(yè)面?zhèn)魅氲闹?,?lái)判斷當(dāng)前對(duì)圖書(shū)信息的操作,如果添加新圖書(shū)信息將傳入的值為add,如果對(duì)圖書(shū)信息進(jìn)行修改將傳入的值為圖書(shū)的條形碼信息。判斷對(duì)圖書(shū)信息的操作后根據(jù)相應(yīng)的操作實(shí)現(xiàn)不同的功能,添加新圖書(shū)信息操作將調(diào)用自定義barcode方法生成新的圖書(shū)條形碼,修改圖書(shū)信息操作則調(diào)用自定義bindBookInfo方法顯示圖書(shū)詳細(xì)信息。: 添加和修改圖書(shū)信息頁(yè)面的流程圖實(shí)現(xiàn)代碼如下:private string id = 。 protected void Page_Load(object sender, EventArgs e) { id= [ID].ToString()。 //獲取對(duì)圖書(shū)操作的方式 if (!IsPostBack) //判斷是否是首次加載 { bindBookType()。 //自定義方法綁定圖書(shū)類型 bindBookcase()。 //自定義方法綁定書(shū)架 if (id != add) //判斷是否是添加操作 { = 修改圖書(shū)信息。 bindBookInfo()。 //調(diào)用自定義方法顯示圖書(shū)信息 } else { = 添加圖書(shū)信息。 = barcode()。 //調(diào)用自定義方法生成條形碼 } } }自定義bindBookInfo方法根據(jù)圖書(shū)管理頁(yè)面?zhèn)魅氲臈l形碼,查找出此條圖書(shū)信息并在頁(yè)面中顯示出來(lái)。自定義bindBookType方法和自定義bindBookcase方法是將圖書(shū)類型信息和書(shū)架信息綁定到DropDownList控件上,由于兩個(gè)自定義方法代碼類似,這里只給出自定義bindBookType方法的代碼。 自定義barcode方法用來(lái)生成一個(gè)13位的條形碼,在此方法中當(dāng)前日期中的年、月、日、小時(shí)、分鐘用來(lái)表示條形碼。在“保存”按鈕的的Click事件中判斷對(duì)圖書(shū)信息的操作來(lái)修改不同的SQL語(yǔ)句,添加新圖書(shū)操作將編寫插入的SQL語(yǔ)句,修改圖書(shū)操作將編寫更新的SQL語(yǔ)句。 圖書(shū)借還模塊設(shè)計(jì) 圖書(shū)借還模塊概述圖書(shū)借還模塊主要包括圖書(shū)借閱、圖書(shū)續(xù)借和圖書(shū)歸還3個(gè)功能。選擇“圖書(shū)借還”/“圖書(shū)借閱”命令,進(jìn)入到圖書(shū)借閱頁(yè)面。在此頁(yè)面中管理員輸入讀者條形碼和讀者需要借閱圖書(shū)的條形碼,顯示出讀者信息和圖書(shū)信息,單擊圖書(shū)信息中“借閱”鏈接按鈕實(shí)現(xiàn)借閱功能。 圖書(shū)借閱頁(yè)面 選擇“圖書(shū)借還”/“圖書(shū)續(xù)借”命令,進(jìn)入到圖書(shū)續(xù)借頁(yè)面。在此頁(yè)面中根據(jù)管理員輸入的讀者條形碼,顯示讀者信息和讀者借閱未還的圖書(shū)信息。輸入讀者需要續(xù)借圖書(shū)的條形碼,將顯示此書(shū)信息。單擊此書(shū)信息中“續(xù)借”鏈接按鈕實(shí)現(xiàn)圖書(shū)續(xù)借功能。 選擇“圖書(shū)借還”/“圖書(shū)歸還”命令,進(jìn)入到圖書(shū)歸還頁(yè)面。在此頁(yè)面中根據(jù)管理員輸入的讀者條形碼,顯示讀者信息和讀者借閱未還的圖書(shū)信息。輸入讀者需要?dú)w還圖書(shū)的條形碼,將顯示此書(shū)信息。單擊此書(shū)信息中的“歸還”鏈接按鈕實(shí)現(xiàn)圖書(shū)歸還功能。 圖書(shū)歸還頁(yè)面 圖書(shū)借還模塊技術(shù)分析圖書(shū)應(yīng)還時(shí)間是在當(dāng)前時(shí)間的基礎(chǔ)上,加上該圖書(shū)可以借閱的天數(shù)獲得的。此技術(shù)先通過(guò)使用DataTime對(duì)象中Now屬性獲得當(dāng)前的時(shí)間。Now屬性表示獲取一個(gè)DataTime對(duì)象,該對(duì)象設(shè)置為此計(jì)算機(jī)上的當(dāng)前日期和時(shí)間,表示為本地時(shí)間。語(yǔ)法如下:public static DateTime Now{get;}屬性值:其值為當(dāng)前日期和時(shí)間的DateTime。獲取到當(dāng)前的時(shí)間后使用Date屬性只獲取時(shí)間的日期部分。Date屬性表示獲取此實(shí)例的日期部分。語(yǔ)法如下:public DataTime Data{get;}屬性值:其日期與此實(shí)例相同,時(shí)間值設(shè)置為午夜12:00:00(00:00:00)。最后通過(guò)AddDays方法計(jì)算應(yīng)還的天數(shù),此方法表示將指定的天數(shù)加到此實(shí)例的值上。語(yǔ)法如下:public DataTime AddDays( double value)參數(shù):value是由整數(shù)和小數(shù)部分組成的天數(shù)。value參數(shù)可以是負(fù)數(shù),也可以是正數(shù)。返回值:DataTime,其值是此實(shí)例所表示的日期和時(shí)間與value所表示的天數(shù)之和。計(jì)算應(yīng)還天數(shù)的代碼如下:(borrowDay).ToShortDateString() 圖書(shū)借閱頁(yè)面的實(shí)現(xiàn)在圖書(shū)借閱頁(yè)面加載事件中,判斷管理員是否登錄,如果登錄將判斷當(dāng)前管理員是否擁有使用此功能的權(quán)限,如不擁有管理此頁(yè)面的權(quán)限將給出提示并跳轉(zhuǎn)到首頁(yè)。將讀者的條形碼輸入后,單擊“查找讀者”按鈕將讀者信息顯示出來(lái),在“查找讀者”按鈕的Click事件中調(diào)用自定義bindReaderInfo方法。實(shí)現(xiàn)代碼如下:protected void btnReaderSearch_Click(object sender, EventArgs e) { bindReaderInfo()。 //調(diào)用自定義方法顯示讀者信息}在自定義bindReaderInfo方法中,利用讀者條形碼查找讀者信息并顯示出來(lái);讀者當(dāng)前可借閱數(shù)量信息,根據(jù)讀者的類型獲取到讀者可借閱圖書(shū)總數(shù),將總數(shù)減去當(dāng)前讀者已借閱還未歸還圖書(shū)的數(shù)量就會(huì)得到讀者當(dāng)前可借閱的數(shù)量。將讀者需要借閱圖書(shū)的條形碼輸入后,單擊“查找圖書(shū)”按鈕將此圖書(shū)的信息顯示出來(lái)。在“查找圖書(shū)”的Click事件中先判斷當(dāng)前用戶是否還可以借閱圖書(shū),如果可以借閱判斷用戶是否輸入圖書(shū)的條形碼,如果輸入的條形碼根據(jù)條形碼將此圖書(shū)信息查找出來(lái)并通過(guò)GridView控件顯示出來(lái)。由于圖書(shū)信息表中圖書(shū)類型存放的是編號(hào),為了方便查看需要將圖書(shū)類型編號(hào)轉(zhuǎn)換為圖書(shū)類型名稱,此功能可以在GridView控件的RowDataBound事件中實(shí)現(xiàn)。單擊圖書(shū)信息中“借閱”鏈接按鈕將圖書(shū)借閱信息存儲(chǔ)到圖書(shū)借閱表中,此功能使用了GridView控件中的SelectIndexChanging事件,在此事件中獲取當(dāng)前選擇圖書(shū)的條形碼,根據(jù)條形碼查詢圖書(shū)的詳細(xì)信息,將圖書(shū)信息和讀者信息添加至圖書(shū)借閱表中,如果添加成功將圖書(shū)信息表中借閱次數(shù)加1。 圖書(shū)續(xù)借的實(shí)現(xiàn)續(xù)借功能,通過(guò)單擊圖書(shū)信息中“續(xù)借”按鈕,在圖書(shū)借閱表中更新應(yīng)還圖書(shū)時(shí)間字段來(lái)實(shí)現(xiàn)。此功能在Gri
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1