版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、學(xué)校教材訂購系統(tǒng)定義1.基本要求 1.1項(xiàng)目目標(biāo)通過本系統(tǒng)完成為學(xué)校教材的購銷工作,包括銷售和采購兩個(gè)部分。1.2系統(tǒng)簡介系統(tǒng)簡介本系統(tǒng)可細(xì)化為兩個(gè)子系統(tǒng):銷售系統(tǒng)和采購系統(tǒng)。銷售系統(tǒng)的工作過程為:首先由教師或?qū)W生提交購書單,經(jīng)教材發(fā)行人員審核是有效購書單后,開發(fā)票、登記并返給教師或?qū)W生領(lǐng)書單,教師或?qū)W生即可去書庫領(lǐng)書。采購系統(tǒng)的主要工作過程為:若是脫銷教材,則登記缺書,發(fā)缺書單給書庫采購人員;一旦新書入庫后,即發(fā)進(jìn)書通知給教材發(fā)行人員。以上的功能要求在計(jì)算機(jī)上實(shí)現(xiàn)。1.3技術(shù)要求和限制條件 (1) 當(dāng)書庫中的各種書籍?dāng)?shù)量發(fā)生變化(包括領(lǐng)書和進(jìn)書時(shí)),都應(yīng)修改相關(guān)的書庫
2、記錄,如庫存表或進(jìn)/出庫表。 (2) 在實(shí)現(xiàn)上述銷售和采購的工作過程時(shí),需考慮有關(guān)單據(jù)的合法性驗(yàn)證 (3) 系統(tǒng)的外部項(xiàng)至少包含三個(gè):教師、學(xué)生和教材工作人員。 (4) 系統(tǒng)的相關(guān)數(shù)據(jù)存儲至少包含6個(gè):購書表、庫存表、缺書登記表、待購教材表、進(jìn)/出庫表。1.4系統(tǒng)界面 學(xué)生/教師登陸界面、書刊查詢界面、書刊信息界面、領(lǐng)書單界面、新書入庫界面、退出界面等。1.5開發(fā)概要 系統(tǒng)調(diào)研、具體開發(fā)、測試、維護(hù)2.資源 2.1 人員本小組成員(華偉,阮運(yùn)磊,張翔宇,張哲)在老師的輔導(dǎo)下開發(fā)完成。2.2 硬件內(nèi)存:2GM;CPU:Int
3、el Core2 1.80GHz2.3軟件MyEclipse5.5 集成開發(fā)工具,MySQL5.0.22數(shù)據(jù)庫和window visio2003畫圖工具以及windows word文檔工具 。3.進(jìn)度安排隨課程進(jìn)度同步完成系統(tǒng)的開發(fā)及文檔編寫工作。4.預(yù)算本項(xiàng)目作為學(xué)生課程設(shè)計(jì),其所有開銷 包括軟件,設(shè)施及開發(fā)經(jīng)費(fèi)都由學(xué)生自理。學(xué)校教材購銷系統(tǒng)需求規(guī)格說明書1引言1.1 編寫目的本要求規(guī)格說明書對學(xué)校教材購銷系統(tǒng)進(jìn)行簡單的分析,給出了系統(tǒng)的數(shù)據(jù)流圖。系統(tǒng)主要用戶是學(xué)生,教師和教材工作人員,加深與用戶間的交流,在功能與系統(tǒng)界面上與用戶達(dá)成一致的看法,以便于開發(fā)出用戶滿意的系統(tǒng)。1.2項(xiàng)目背景隨著
4、高校辦學(xué)規(guī)模的擴(kuò)展,管理方式和管理效率的矛盾日漸突出。在教材購銷方面,手工管理方式和文檔系統(tǒng)管理方式在管理質(zhì)量和管理效率上,從根本上不能適應(yīng)大規(guī)模的管理要求。而隨著計(jì)算機(jī)科學(xué)的發(fā)展與進(jìn)步,計(jì)算機(jī)科學(xué)管理方式,不管在管理效率還是在管理質(zhì)量上都逐步顯示出了它的可靠性和優(yōu)越性。而且計(jì)算機(jī)管理在人力、物力等資源方面都比以前的管理模式要有大的節(jié)省。計(jì)算機(jī)管理正以它自身的優(yōu)越性成為管理模式中的主流。教材購銷管理系統(tǒng)采用計(jì)算機(jī)管理模式的必然性也在與此!本系統(tǒng)以學(xué)校為背景,在認(rèn)真調(diào)研和分析了學(xué)校訂購教材的現(xiàn)狀之后,根據(jù)學(xué)生,教師和教材工作人員的需求和各個(gè)功能的關(guān)系,作出了積極的設(shè)計(jì)方案。在新的管理資源和管理模
5、式上,一定能使工作質(zhì)量、工作效率等得到提高,推動學(xué)校發(fā)展的步伐。本系統(tǒng)名稱為:安徽工程科技學(xué)院教材購銷系統(tǒng)。由安徽工程科技學(xué)院教材管理層提出,由修宇老師和我們項(xiàng)目小組成員(華偉,阮運(yùn)磊,張翔宇,張哲)開發(fā),適合學(xué)生,老師和教材工作人員使用,可以在學(xué)校的計(jì)算機(jī)中心開設(shè)服務(wù)器,在校園網(wǎng)上運(yùn)行。1.3 軟件產(chǎn)品的作用范圍學(xué)校教材購銷系統(tǒng)是為高等院校開發(fā)的,用于日常的教材管理,包括銷售與采購。提供數(shù)字化的管理,提高學(xué)校教材管理部門的工作效率。2一般性描述2.1本系統(tǒng)可細(xì)化為兩個(gè)子系統(tǒng):銷售系統(tǒng)和采購系統(tǒng)銷售系統(tǒng)的工作過程為:首先由教師或?qū)W生提交購書單,經(jīng)教材科發(fā)行人員審核是有效購書單后,開發(fā)票、登記并
6、返給教師或?qū)W生領(lǐng)書單,教師或?qū)W生即可去書庫領(lǐng)書。 采購系統(tǒng)的主要工作過程為:若是脫銷教材,則登記缺書,發(fā)缺書單給書庫采購人員;一旦新書入庫后,即發(fā)進(jìn)書通知。2.2產(chǎn)品功能本系統(tǒng)在向?qū)W生售書時(shí)主要輸入學(xué)生學(xué)號、班級代號、購書數(shù)量、購書書名信息,然后打印領(lǐng)書單返回給學(xué)生領(lǐng)取書籍。本系統(tǒng)在查詢數(shù)據(jù)庫時(shí)主要輸入需要查詢的相關(guān)信息,包括圖書編號、圖書書名、出版社信息、圖書特色等信息方便操作人員把握圖書信息。本系統(tǒng)還兼顧一點(diǎn)財(cái)務(wù)信息的管理,在發(fā)生單人購書時(shí),系統(tǒng)直接向購書者收取現(xiàn)金,內(nèi)部形成一個(gè)小小的財(cái)務(wù)管理。本系統(tǒng)還和學(xué)校的財(cái)務(wù)科發(fā)生數(shù)據(jù)交換,發(fā)生集體售書時(shí),學(xué)校根據(jù)數(shù)據(jù)的有效性,直接向集體售書,形成的
7、財(cái)務(wù)信息直接和財(cái)務(wù)科交換,方便結(jié)算。即:向?qū)W生集體售書時(shí)不需要直接收取現(xiàn)金,而待教材科結(jié)算時(shí)向財(cái)務(wù)科提交數(shù)據(jù),由財(cái)務(wù)科從學(xué)生的預(yù)交書費(fèi)里扣除,保證教材科財(cái)務(wù)信息的完整。3數(shù)據(jù)流圖與數(shù)據(jù)字典3.1系統(tǒng)數(shù)據(jù)流圖(DFD)3.1.1 學(xué)校教材購銷系統(tǒng)DFD系統(tǒng)數(shù)據(jù)字典: 名字:定書表別名:訂書單描述:送給采購員的定書表定義:購書單購書單號+書名+出版社+價(jià)格數(shù)量+日期+訂購名姓名+訂購者職務(wù)購書總數(shù)+總額 購書單號DG+年+月+日+4位整數(shù) 訂購者職務(wù)學(xué)生教師 價(jià)格整數(shù)+4位小數(shù)位置:輸出到打印機(jī)名字:領(lǐng)書表別名:領(lǐng)書單描述:送給學(xué)生或教師的領(lǐng)書報(bào)表定義:領(lǐng)書單領(lǐng)書單號+訂購者姓名+領(lǐng)書日期+購書單
8、號+領(lǐng)書日期經(jīng)辦人 領(lǐng)書單號LQ+年+月+日+4位整數(shù)位置:輸出到打印機(jī)名字:缺書表別名:缺書單描述:送給相關(guān)工作人員的表,用來補(bǔ)充書籍定義:缺書單缺書單號書名+出版社總數(shù) 缺書單號QS+年+月+日+4位整數(shù)位置:輸出到打印機(jī)名字:進(jìn)書通知描述:詳細(xì)的描述了進(jìn)書的信息定義:進(jìn)書通知編號+書名+出版社+價(jià)格數(shù)量采購人姓名采購日期+采購總數(shù)+采購總額 編號JS+年+月+日+4位整數(shù)位置:名字:審核信息描述:用于審核信息定義:審核信息教材發(fā)行人員姓名+審核標(biāo)志+審核日期 審核標(biāo)志TURE|FALSE(注:表示審核是否通過)位置:3.1.2 學(xué)校教材購銷系統(tǒng)一級數(shù)據(jù)流圖 身 份驗(yàn) 證學(xué)生或教 師 購書
9、單 不合法 領(lǐng)書單 合法 庫存表 教材工作人 員 采 購系 統(tǒng) 缺書單 銷 售 系 統(tǒng) 進(jìn)書通知 缺書登記表一級數(shù)據(jù)字典:1 庫存表記錄ID +圖書信息 +數(shù)量 2 缺書表記錄ID +圖書信息+缺書日期 3 進(jìn)庫表日期+圖書信息+數(shù)量+采購員+總額 4圖書信息書名+出版社+價(jià)格作者+ISBN+版次 ISBN=10數(shù)字10 且能被7整除 記錄IDJC15數(shù)字15 3.1.3 二級數(shù)據(jù)流圖購書單審核信息領(lǐng)書單發(fā)票領(lǐng)書信息 領(lǐng)書單缺書單缺書單缺書信息采購信息進(jìn)書通知圖書信息 采購信息購書表審 核登記庫存表開 票登 記領(lǐng) 書缺書表出庫表缺書登記缺書表圖書入庫庫存表進(jìn)庫表二級數(shù)據(jù)字典:名字:發(fā)票別名:描
10、述:唯一的表述一次夠書或者買書憑證定義:發(fā)票客戶名+日期+書名價(jià)格+數(shù)量+總額+開票人+發(fā)票號位置:名字:出庫表別名:描述:描述出庫的一切信息定義:出庫表日期圖書信息+教材發(fā)行人員位置:輸出到打印機(jī)名字:采購信息別名:描述:描述采購的信息定義:采購信息采購員姓名+日期+圖書信息+總數(shù)+總額位置:名字:有效訂書單別名:描述:有效的訂書單定義:有效訂書單購書單+教材發(fā)行人員姓名位置:輸出到打印機(jī)3.2 數(shù)據(jù)存儲描述數(shù)據(jù)存儲名稱:缺書登記表組成:書號+書名+出版社+缺書數(shù)量+出版時(shí)間+書籍信息組織:備注:數(shù)據(jù)存儲名稱:教材庫存表組成:書號+書名+出版社+數(shù)量+出版時(shí)間+書籍信息+是否特殊用途教學(xué)用、
11、零售組織:備注:數(shù)據(jù)存儲名稱:進(jìn)庫表、出庫表、庫存表、購書表組成:書號+書名+出版社+出版時(shí)間+單價(jià)+數(shù)量+總價(jià)+書籍信息組織:備注:數(shù)據(jù)存儲名稱:售書登記表組成:學(xué)號+姓名+班級+所購書號+書名+單價(jià)數(shù)量+總價(jià)組織:備注:學(xué)號、班級、姓名可為空數(shù)據(jù)存儲名稱:補(bǔ)售書表組成:學(xué)號+姓名+班級+所購書號+書名+數(shù)量+書籍信息組織:備注: 數(shù)據(jù)存儲名稱:教學(xué)用書表組成:書名+書號+出版社+出版時(shí)間+數(shù)量+書籍信息組織:備注: 3.3數(shù)據(jù)流描述<購書單>:=(<教師信息>|<學(xué)生信息>)+<書名>+<數(shù)量>+<出版社>+<作
12、者>+<購書日期><學(xué)生信息>:=<學(xué)生學(xué)號>+<學(xué)生姓名>+<學(xué)生性別>+<學(xué)生班級><學(xué)生學(xué)號>:=1| 2|50<序號>:= 1| 2|50<數(shù)量>:= 1| 2|10000<購書日期>:=<年>+<月>+<日> <缺書單>:=<序號>+<書名>+<數(shù)量>+<出版社>+<作者><入庫單>:=<入庫號>+<書名>+<數(shù)
13、量>+<出版社>+<作者>+<入庫時(shí)間><出庫單>:=<學(xué)生信息>+<書名>+<數(shù)量>+<出庫時(shí)間><購書教材記錄>:=<書名>+<數(shù)量><領(lǐng)書單>:=|<學(xué)生信息>+<書名>+<出版社>+<作者>+<數(shù)量><庫存情況>:=<序號>+<書名>+<出版社>+<作者>+<數(shù)量>學(xué)校教材訂購系統(tǒng)中,其主要的實(shí)體分別為用戶(
14、教師和學(xué)生)、教材管理人員,經(jīng)分析后,得到主要E-R圖,如圖所示。 書 籍 價(jià)格庫存量 出版社 編號 書籍名 工 作 人 員 工號 備 注 性別 職位 姓 名 電 話 教師或?qū)W生 性 別 姓 名 編 號總體設(shè)計(jì)1、系統(tǒng)功能模塊結(jié)構(gòu)圖根據(jù)需求分析,學(xué)校教材訂購系統(tǒng)功能模塊結(jié)構(gòu)圖如下:大學(xué)教材訂購系統(tǒng)銷售子系統(tǒng)采購子系統(tǒng)提交購書單審核購書單開發(fā)票登記購書記錄發(fā)缺書單登記缺書記錄發(fā)進(jìn)書通知單修改相應(yīng)的表返回領(lǐng)書單領(lǐng)書修改庫存記錄維護(hù)相應(yīng)的數(shù)據(jù)表維護(hù)數(shù)據(jù)庫進(jìn)一步對學(xué)校教材訂購系統(tǒng)的銷售過程和采購過程進(jìn)行數(shù)據(jù)流程分析,本系統(tǒng)應(yīng)當(dāng)具有如下的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):開發(fā)過程中建立了名為book的數(shù)據(jù)庫,下設(shè)boo
15、k07、book08、adminlist等表如圖3-1所示:圖3-1 book數(shù)據(jù)庫圖表asminlist用于存放系統(tǒng)管理員和老師或?qū)W生的登陸用戶名和密碼,其中帳號為主碼,如圖3-2 adminlist圖所示。 圖3-2 adminlist圖表book07用于存放過去兩個(gè)學(xué)期中計(jì)算機(jī)系所有已定教材的信息,其中書號為主碼,如圖3-3表book07圖所示。 圖3-3 表book07圖表book08用于存放本學(xué)期需要征訂的教材,同樣,書號為主碼,如圖3-4表book08圖所示。 圖3-4 表book08圖詳細(xì)設(shè)計(jì)1.根據(jù)功能模塊用程序流程圖進(jìn)行詳細(xì)設(shè)計(jì)和各模塊詳細(xì)設(shè)計(jì)說明書如下:銷售子系統(tǒng)模塊程序流
16、程圖:開始提交購書單 N審核購書單 1錯誤顯示 Y開發(fā)票 登記購書記錄 N錯誤顯示 審核登記 Y發(fā)領(lǐng)書通知單 修改相應(yīng)表 N審核修改 錯誤顯示 Y結(jié)束采購子系統(tǒng)模塊程序流程圖:開始發(fā)缺書單 審核缺書單 錯誤顯示 登記缺書 審核登記 錯誤顯示 修改數(shù)據(jù)庫的表 審核修改 錯誤顯示 發(fā)進(jìn)書通知單 結(jié)束接口 各模塊過程之間采用函數(shù)調(diào)用、參數(shù)傳遞、返回值的方式進(jìn)行消息傳遞。具體參數(shù)的結(jié)構(gòu)將在下面數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)的內(nèi)容中說明。接口傳遞的信息將是以數(shù)據(jù)結(jié)構(gòu)封裝了的數(shù)據(jù),以參數(shù)傳遞或返回值的形式在模塊之間傳遞。存儲分配為程序當(dāng)中的數(shù)據(jù)結(jié)構(gòu)在內(nèi)存中開辟空間存儲,如入到數(shù)據(jù)庫中后在數(shù)據(jù)庫的表中為其開辟存儲空間。限制條
17、件輸入的信息都封裝在數(shù)據(jù)結(jié)構(gòu)當(dāng)中,不能獨(dú)立存在,在向數(shù)據(jù)庫中提交數(shù)據(jù)時(shí)必須一起提交而不能逐項(xiàng)提交。輸入數(shù)據(jù)的類型必須和定義的數(shù)據(jù)類型相匹配。界面設(shè)計(jì)及詳細(xì)代碼本系統(tǒng)主要有登陸界面load.aspx,顯示書目信息及功能模塊選擇頁面book.aspx,添加新記錄頁面new.aspx,添加歷史記錄頁面history.aspx和history1.aspx,修改記錄update.aspx和update1.aspx以及刪除記錄delete.aspx八個(gè)頁面組成.其中登陸與用datagrid兩大模塊的代碼編寫與設(shè)計(jì).具體設(shè)計(jì)如下:5.1 登陸界面 當(dāng)單擊確定按鈕時(shí),連接數(shù)據(jù)庫,確定輸入的帳號和密碼是否匹配,
18、跳轉(zhuǎn)到書目的頁面,若不匹配,則彈出帳號錯誤或密碼錯誤的提示。如圖5-1所示 圖5-1具體代碼如下:Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click Dim str As String Dim passstr As String passstr = Trim(CStr(TextBox2.Text) str = "'" & TextBox1.Text & "'"
19、Dim sql As String = "select * from adminlist where 帳號=" & Trim(str) 在數(shù)據(jù)庫中搜索帳號為textbox1.text的數(shù)據(jù) Dim connstr As String = "server=localhost;uid=sa;pwd=;database=book" Dim myconn As New SqlClient.SqlConnection(connstr) Dim da As New SqlClient.SqlDataAdapter(sql, myconn) Dim ds As
20、 New DataSet da.Fill(ds, "adminlist") Dim dacomm As SqlClient.SqlCommandBuilder = New SqlClient.SqlCommandBuilder(da) If ds.Tables("adminlist").Rows.Count = 1 Then判斷帳號密碼是否和數(shù)據(jù)庫匹配 If passstr = Trim(ds.Tables("adminlist").Rows(0)("密碼") Then Response.Redirect(&quo
21、t;book.aspx") Else Response.Write("密碼錯誤!") End If Else Response.Write("用戶名不存在!") End If End SubEnd Class5.2用datagrid顯示數(shù)據(jù)首先建立datagrid,通過連接數(shù)據(jù)庫,將數(shù)據(jù)顯示在datagrid中。如圖5-2所示圖 5-2 書目頁面book.aspx具體代碼如下:Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Han
22、dles MyBase.Load binddata()End SubSub binddata() Dim myconnection As New SqlConnection("initial catalog=book;uid=sa;pwd=") Const strsql As String = "select * from book08 order by 書號" Dim mycommand As New SqlCommand(strsql, myconnection) Dim myda As New SqlDataAdapter myda.SelectC
23、ommand = mycommand Dim myds As New DataSet myda.Fill(myds) DataGrid1.DataSource = myds DataGrid1.DataBind() End Sub5.3 添加歷史書目 (1)history.aspx在登陸系統(tǒng)并選擇插入歷史書本后,進(jìn)入添加歷史書目的頁面,決定選擇哪條記錄進(jìn)行添加。如圖5-3插入歷史書目圖所示圖5-3 插入歷史書目圖 在單擊左側(cè)的選擇后,自動跳轉(zhuǎn)到update1.aspx,根據(jù)所選擇的書目,進(jìn)行相應(yīng)的修改后添加到記錄中去。具體代碼如下:頁面登陸事件代碼:Private Sub Page_Load(
24、ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If Not Page.IsPostBack Then binddata() End If End Sub連接數(shù)據(jù)庫: Sub binddata() Dim myconnection As New SqlConnection(“initial catalog=book;uid=sa;pwd=“) Const strsql As String = “select * from book07 order by 書號” Dim mycomma
25、nd As New SqlCommand(strsql, myconnection) Dim myda As New SqlDataAdapter Myda.SelectCommand = mycommand Dim myds As New DataSet Myda.Fill(myds) DataGrid1.DataSource = myds DataGrid1.DataBind() End Sub確定所選擇的行的數(shù)據(jù),并把該行相應(yīng)的內(nèi)容分別通過session變量儲存下來。Private Sub DataGrid1_ItemCommand(ByVal source As Object, ByV
26、al e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.ItemCommand Dim b_no As TableCell = e.Item.Cells(1) Dim b_name As TableCell = e.Item.Cells(2) Dim b_a As TableCell = e.Item.Cells(3) Dim b_b As TableCell = e.Item.Cells(4) Dim b_c As TableCell = e.Item.Cells(5) Session(“a”
27、) = b_no.Text Session(“b”) = b_name.Text Session(“c”) = b_a.Text Session(“d”) = b_b.Text Session(“e”) = b_c.Text Response.Redirect(“history1.aspx”)End SubButton_click事件,重定向到book.aspx頁面 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Respons
28、e。Redirect(“book.aspx”) End SubEnd class(2)history1.aspx頁面:通過上一個(gè)頁面的選擇后,該頁面進(jìn)行修改并添加的操作。如圖4-4修改添加記錄圖所示:圖5-4 添加記錄圖該頁面中將征定時(shí)間和數(shù)量的值用textbox表示,是為了方便在插入歷史書目的時(shí)候修改它的時(shí)間和它的數(shù)量。當(dāng)管理員修改完成后,則可單擊確定添加操作,將數(shù)據(jù)添加到08年的數(shù)據(jù)庫中。具體代碼如下:頁面登陸代碼:Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handle
29、s MyBase.Load If Not IsPostBack Then Dim str As String str = “'“ & Label6.Text & “'“ Dim sql As String = “select * from book07 where 書號 =“ & Trim(Session(“a”) Dim connstr As String = “server=localhost;uid=sa;pwd=;database=book” Dim myconn As New SqlClient.SqlConnection(connstr) D
30、im da As New SqlClient.SqlDataAdapter(sql, myconn) Dim ds As New DataSet Da.Fill(ds, “book07”) Dim dacomm As SqlClient.SqlCommandBuilder = New SqlClient.SqlCommandBuilder(da) Label6.Text = ds.Tables(“book07”).Rows(0)(“書號”) Label7.Text = ds.Tables(“book07”).Rows(0)(“書名”) Label8.Text = ds.Tables(“book
31、07”).Rows(0)(“作者”) TextBox1.Text = ds.Tables(“book07”).Rows(0)(“征定時(shí)間”) TextBox2.Text = ds.Tables(“book07”).Rows(0)(“數(shù)量”) End If End Sub修改后添加到數(shù)據(jù)庫的代碼:Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim str As String Dim litem As ListItem str
32、= “'“ & Label6.Text & “'“ Dim sql As String = “select * from book08 where 書號=“ & Trim(str) Dim connstr As String = “server=localhost;uid=sa;pwd=;database=book” Dim myconn As New SqlConnection(connstr) Dim da As New SqlDataAdapter(sql, myconn) Dim ds As New DataSet da。Fill(ds, “bo
33、ok08”) Dim myrow As DataRow Dim dacomm As SqlClient.SqlCommandBuilder = New SqlClient.SqlCommandBuilder(da) If ds.Tables(“book08”).Rows.Count >= 1 Then Response.Write(“此書已存在”) End If myrow = ds.Tables(“book08”).NewRow myrow(“書號”) = Trim(Label6.Text) myrow(“書名”) = Trim(Label7.Text) myrow(“作者”) = T
34、rim(Label8.Text) myrow(“征定時(shí)間”) = Trim(TextBox1.Text) myrow(“數(shù)量”) = Trim(TextBox2.Text) ds.Tables(“book08”).Rows.Add(myrow) da.UpdateCommand = dacomm.GetUpdateCommand da.Update(ds, “book08”) Response.Redirect(“book.aspx”) End Sub單擊返回按鈕后,重定向到history.aspx的代碼:Private Sub Button2_Click(ByVal sender As Sy
35、stem.Object, ByVal e As System.EventArgs) Handles Button2.Click Response.Redirect(“history.aspx”) End SubEnd Class5.4 刪除記錄在登陸系統(tǒng)后點(diǎn)擊修改按鈕進(jìn)入修改頁面delete.aspx,通過復(fù)選框的選擇,刪除數(shù)據(jù)。如下圖5-5刪除頁面所示:圖5-5 刪除頁面 該頁面通過復(fù)選框的操作刪除數(shù)據(jù)后,重定向回該頁面,以便顯示刪除后數(shù)據(jù)的更新。具體代碼如下:頁面登陸代碼:Private Sub Page_Load(ByVal sender As System.Object, ByVal
36、e As System.EventArgs) Handles MyBase.Load If Not Page.IsPostBack Then 用來確認(rèn)頁面是否第一次登陸 binddata() End If End Sub Sub binddata() 連接到數(shù)據(jù)庫 Dim myconnection As New SqlConnection(“initial catalog=book;uid=sa;pwd=“) Const strsql As String = “select * from book08 order by 書號” Dim mycommand As New SqlCommand(s
37、trsql, myconnection) Dim myda As New SqlDataAdapter Myda.SelectCommand = mycommand Dim myds As New DataSet Myda.Fill(myds) DataGrid1.DataSource = myds DataGrid1.DataBind() 'myda.Update(myds, “book08”) End SubButton_click事件: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As Syst
38、em.EventArgs) Handles Button1.Click Dim i As Integer Dim x As String Dim item As DataGridItem For i = 0 To DataGrid1.Items.Count 1 item = DataGrid1.Items(i) Dim bookcheckbox As CheckBox = item.FindControl(“checkbox1”) If bookcheckbox.Checked Then 確認(rèn)數(shù)據(jù)是否被點(diǎn)擊進(jìn)行刪除 x = item.Cells(1).Text x為datagrid第二列的數(shù)據(jù)
39、的內(nèi)容 deletedataset(x) End If Next binddata() Response.Write(“刪除成功!”) End Sub Sub deletedataset(ByVal y As String) Dim con As New SqlConnection(“initial catalog=book;uid=sa;pwd=“) Dim cmd As SqlCommand Dim qry As String Con.Open() qry = “delete book08 where 書號='“ & y & “'“ cmd = New Sq
40、lClient.SqlCommand(qry, con) cmd.ExecuteNonQuery() con.Close() End SubButton_click的重定向事件 Private Sub Button2_Click(ByVal sender As System。Object, ByVal e As System.EventArgs) Handles Button2.Click Response.Redirect(“book.aspx”)End subEnd class添加新教材和修改記錄兩大模塊共三個(gè)頁面的代碼編寫與設(shè)計(jì)。具體設(shè)計(jì)如圖5-6所示:圖5-6 添記錄頁面 new.As
41、px(1)添加新教材。在登陸系統(tǒng)并選擇錄入新書后,進(jìn)入添加新教材頁面。如3-6圖所示:對textbox1到textbox5添加RequiredFiledValidator控件,并設(shè)置相應(yīng)屬性使textbox中的文本不能為空。對textbox1添加RegularExpressionValidator控件,設(shè)置ValidationExpression屬性為”d4”,ErrorMessage為”書號的格式為0001”。對textbox1添加RangeValidator控件,設(shè)置MinimunValue為”0001”,MaxmumValue為”9999”。使書號的取值范圍為00019999。對text
42、box4添加RegularExpressionValidator控件,設(shè)置ValidationExpression屬性為”d4-d1,2”,使時(shí)間格式為2008-1。對textbox5添加RangeValidator控件,設(shè)置MinimunValue為”1”,MaxmumValue為”99”,使訂閱的教材數(shù)量在1-99本之間。該頁面程序代碼如下:Page Load事件代碼Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadEnd SubButto
43、n Click事件代碼Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim str As String Dim litem As ListItem str = "'" & TextBox1。Text & "'" Dim sql As String = "select * from book08 where 書號=" & Trim
44、(str) Dim connstr As String = "server=localhost;uid=sa;pwd=;database=book" Dim myconn As New SqlConnection(connstr) Dim da As New SqlDataAdapter(sql, myconn) Dim ds As New DataSet da。Fill(ds, "book08") Dim myrow As DataRow Dim dacomm As SqlClient.SqlCommandBuilder = New SqlClient
45、.SqlCommandBuilder(da) If ds.Tables("book08").Rows.Count >= 1 Then Response.Redirect("new.aspx") Response.Write("書號重復(fù),請重新輸入") End Ifmyrow = ds.Tables("book08").NewRow myrow("書號") = Trim(TextBox1.Text) myrow("書名") = Trim(TextBox2.Text) my
46、row("作者") = Trim(TextBox3.Text) myrow("征定時(shí)間") = Trim(TextBox4.Text) myrow("數(shù)量") = Trim(TextBox5.Text) ds.Tables("book08").Rows.Add(myrow) da.UpdateCommand = dacomm.GetUpdateCommand da.Update(ds, "book08") Response.Redirect("book.aspx")End S
47、ub(2) 修改記錄。在登陸系統(tǒng)后點(diǎn)擊修改按鈕進(jìn)入修改頁面update.aspx。如圖5-7所示:圖5-7 修改頁面update.Aspx 在該頁面設(shè)計(jì)中添加SqlDataAdapter控件和DataSet控件,用于執(zhí)行ADO。NET數(shù)據(jù)庫訪問的相關(guān)操作。該頁中的數(shù)據(jù)通過DataGrid控件顯示,設(shè)置相應(yīng)屬性,將其綁定到表book08,使其顯示book08中的數(shù)據(jù)。在DataGrid控件中添加一個(gè)按鈕列,列名為選擇。當(dāng)用戶點(diǎn)擊該列的按鈕時(shí)自動獲取該行的相關(guān)值,將其賦值給Session變量并跳轉(zhuǎn)到update1。aspx。update1。aspx如圖:5-8所示圖5-8 修改選擇后的記錄 upd
48、ate1.aspx頁面中textbox的文本來自與update.aspx中定義并賦值的Session變量。用戶通過修改其中的文本值并單擊確定完成修改。修改部分代碼如下:update.aspx中的Page Load事件Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If Not Page.IsPostBack Then binddata() End IfEnd Sub用于加載頁面及確認(rèn)是否第一次訪問。Update.aspx中的binddata
49、事件private Sub binddata() Dim myconnection As New SqlConnection("initial catalog=book;uid=sa;pwd=") Const strsql As String = "select * from book08 order by 書號" Dim mycommand As New SqlCommand(strsql, myconnection) Dim myda As New SqlDataAdapter Myda.SelectCommand = mycommand Dim m
50、yds As New DataSet Myda.Fill(myds) DataGrid1.DataSource = myds DataGrid1.DataBind()End Sub用于連接數(shù)據(jù)庫并定義相關(guān)操作。Update.aspx中設(shè)置DataGrid中的ItemCommandPrivate Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.ItemCommand Dim b_no A
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025中國電信股份限公司保山分公司(保山電信)招聘16人(云南)高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國電信國際限公司校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國儲備糧管理集團(tuán)限公司招聘700人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年貴州省六盤水市事業(yè)單位及國企業(yè)招聘應(yīng)征入伍大學(xué)畢業(yè)生164人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年湖南岳陽市城市建設(shè)投資集團(tuán)限公司招聘15人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年浙江溫州市甌海區(qū)事業(yè)單位招聘工作人員23人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年四川綿陽平武縣招聘事業(yè)單位專業(yè)技術(shù)人員6人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年四川省瀘州瀘縣事業(yè)單位招聘95人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年四川巴中南江縣事業(yè)單位考試招聘72人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上海煙草集團(tuán)招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 最新營銷中心物業(yè)服務(wù)可視化操作指引說明詳解新實(shí)用手冊
- 食材配送投標(biāo)服務(wù)方案
- 醫(yī)療醫(yī)學(xué)醫(yī)生護(hù)士工作PPT模板
- 排污許可證守法承諾書(2篇)
- 矩形頂管施工方案28
- 液壓轉(zhuǎn)向器廠總平面布置課程設(shè)計(jì)
- 說明性語段的壓縮(課堂PPT)
- 造紙化學(xué)品及其應(yīng)用
- GB_T 13234-2018 用能單位節(jié)能量計(jì)算方法(高清正版)
- 裝配式鋼板筒倉安裝技術(shù)經(jīng)驗(yàn)規(guī)程
- 拔除智齒病歷1頁
評論
0/150
提交評論