版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> XXX 大 學(xué)</b></p><p> 課 程 設(shè) 計(jì)</p><p> 2011年 7月 8日</p><p><b> 目 錄</b></p><p> 第1章 系統(tǒng)分析1</p><p> 1.1 開發(fā)背景1&l
2、t;/p><p> 1.2 系統(tǒng)需求分析1</p><p> 1.3 開發(fā)環(huán)境2</p><p> 第2章 系統(tǒng)設(shè)計(jì)4</p><p> 2.1 系統(tǒng)架構(gòu)4</p><p> 2.2 系統(tǒng)功能模塊5</p><p> 2.3 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)7</p><p
3、> 第3章 系統(tǒng)實(shí)現(xiàn)9</p><p> 3.1 管理員主頁(yè)面9</p><p> 3.2 庫(kù)存單據(jù)管理16</p><p> 3.3 普通用戶頁(yè)面22</p><p> 第4章 系統(tǒng)測(cè)試24</p><p> 第5章 結(jié)束語(yǔ)25</p><p><b>
4、 參考文獻(xiàn)26</b></p><p><b> 第1章 系統(tǒng)分析</b></p><p><b> 1.1 開發(fā)背景</b></p><p> 伴隨著企業(yè)規(guī)模的不斷擴(kuò)大,原始的、手工的進(jìn)行管理工作已經(jīng)不能適應(yīng)工業(yè)企業(yè)發(fā)展的現(xiàn)狀,更無(wú)法滿足企業(yè)對(duì)管理工作的快速、準(zhǔn)確的要求。而計(jì)算機(jī)信息管理技術(shù)的迅速發(fā)
5、展恰恰解決了這個(gè)問題,它使計(jì)算機(jī)技術(shù)與現(xiàn)代的管理技術(shù)相互配合,來(lái)更加準(zhǔn)確、高速的完成工業(yè)企業(yè)日常的倉(cāng)庫(kù)管理工作。使企業(yè)能夠以最少的人員來(lái)完成更多的工作,所以設(shè)計(jì)出一款界面友好型、經(jīng)濟(jì)實(shí)用型的軟件已經(jīng)迫在眉睫、刻不容緩。</p><p> 隨著科學(xué)技術(shù)的不斷發(fā)展,計(jì)算機(jī)科學(xué)日趨成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí)和體現(xiàn)到,它已進(jìn)入到社會(huì)生活的各個(gè)領(lǐng)域當(dāng)中,并發(fā)揮著越來(lái)越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)
6、對(duì)小型工程信息進(jìn)行管理,具有著手工管理所無(wú)法比擬的優(yōu)點(diǎn),例如:檢索快速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高倉(cāng)庫(kù)管理人員的工作效率,也是企業(yè)的科學(xué)化、正規(guī)化管理的必由之路,與世界接軌的前提條件。</p><p> 倉(cāng)庫(kù)管理信息系統(tǒng)主要采用VS2005和微軟SQL server2005數(shù)據(jù)庫(kù)做為開發(fā)工具,應(yīng)用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,進(jìn)行開發(fā)與設(shè)計(jì)的。 它是一個(gè)典型的信息
7、管理系統(tǒng)。</p><p> 1.2 系統(tǒng)需求分析</p><p><b> 功能需求</b></p><p> 系統(tǒng)應(yīng)提供用戶登錄識(shí)別,對(duì)倉(cāng)庫(kù)里面的產(chǎn)品進(jìn)行增、刪、改、查詢功能。人性化的管理單據(jù),在庫(kù)存盤點(diǎn)中應(yīng)用回收站功能,以防用戶誤操作刪除倉(cāng)庫(kù)中的信息。當(dāng)庫(kù)存中的商品數(shù)量低于商品下限或者高于商品上限時(shí),庫(kù)存會(huì)發(fā)出警報(bào)。當(dāng)有重要通知時(shí),
8、管理員可以在系統(tǒng)中發(fā)布。用戶可以修改密碼等功能。</p><p><b> 性能需求</b></p><p> 系統(tǒng)反應(yīng)時(shí)間應(yīng)在2s內(nèi),主存容量應(yīng)該為256MB,磁盤容量最少應(yīng)為80GB,在安全性方面應(yīng)該防止SQL注入等【1】。</p><p><b> 可靠性可用性需求</b></p><p&g
9、t; 在對(duì)倉(cāng)庫(kù)中的數(shù)據(jù)進(jìn)行操作時(shí)不能出現(xiàn)系統(tǒng)崩潰情況,當(dāng)遇到的斷電等突發(fā)情況,應(yīng)該有一定的恢復(fù)措施,在一個(gè)月內(nèi)在任何一臺(tái)計(jì)算機(jī)上該系統(tǒng)不可用的時(shí)間不能超過2%。</p><p><b> 出錯(cuò)處理需求</b></p><p> 當(dāng)插入的數(shù)據(jù)出現(xiàn)錯(cuò)誤或重復(fù)時(shí)系統(tǒng)應(yīng)該給一個(gè)友好的提示,比如彈出一個(gè)對(duì)話框進(jìn)行提示等。</p><p><b
10、> 流程圖:</b></p><p><b> 1.3 開發(fā)環(huán)境</b></p><p> 數(shù)據(jù)庫(kù)是數(shù)據(jù)管理的最新技術(shù),是計(jì)算機(jī)科學(xué)的重要分支【2】。今天,信息資源已成為各個(gè)部門的重要財(cái)富和資源。十年來(lái),數(shù)據(jù)庫(kù)管理系統(tǒng)已從專用的應(yīng)用程序包發(fā)展成為通用系統(tǒng)軟件。由于數(shù)據(jù)庫(kù)具有數(shù)據(jù)的結(jié)構(gòu)化、可控冗余度、較高的程序與數(shù)據(jù)獨(dú)立性、易于擴(kuò)充、易于編制應(yīng)用
11、程序等優(yōu)點(diǎn),因此,作為信息系統(tǒng)核心和和基礎(chǔ)的數(shù)據(jù)庫(kù)技術(shù)得到了越來(lái)越廣泛的應(yīng)用,越來(lái)越多的新的應(yīng)用領(lǐng)域采用數(shù)據(jù)庫(kù)技術(shù)來(lái)存儲(chǔ)和處理信息資源,較大的信息系統(tǒng)都是建立在數(shù)據(jù)庫(kù)設(shè)計(jì)之上的。</p><p> 由于用到的數(shù)據(jù)表格多,倉(cāng)庫(kù)商品信息的變動(dòng)較大,我們選用SQL Server作為數(shù)據(jù)庫(kù)開發(fā),而不用Access,主要是因?yàn)锳ccess存放的記錄,在實(shí)際運(yùn)用中不適合此系統(tǒng);而SQL Server是一種常用的關(guān)系數(shù)據(jù)庫(kù),
12、能存放和讀取大量的數(shù)據(jù),管理眾多并發(fā)的用戶,使用方便快捷,故選用SQL Server數(shù)據(jù)庫(kù)。</p><p> 用VB語(yǔ)言進(jìn)行編碼。VB 編程語(yǔ)言是微軟在.NET計(jì)劃中重要的開發(fā)語(yǔ)言,它具有語(yǔ)法簡(jiǎn)單,功能強(qiáng)大,快速應(yīng)用,語(yǔ)言自由,強(qiáng)大的Web服務(wù)器控件,支持跨平臺(tái),與XML相融合等。因此選擇VB編程語(yǔ)言。 </p><p><b> 第2章 系統(tǒng)設(shè)計(jì)</b><
13、;/p><p><b> 2.1 系統(tǒng)架構(gòu) </b></p><p> 整個(gè)系統(tǒng)分為四個(gè)部分,登錄控制、管理員、普通用戶和主框架。</p><p> 由于每個(gè)用戶的權(quán)限不同,所以用戶進(jìn)入系統(tǒng)應(yīng)該進(jìn)行身份驗(yàn)證。根據(jù)不同的身份權(quán)限進(jìn)入不同的操作界面,進(jìn)行不同的操作,瀏覽不同的頁(yè)面。</p><p> 管理員進(jìn)入倉(cāng)庫(kù)管理系
14、統(tǒng)后,對(duì)倉(cāng)庫(kù)里面的產(chǎn)品進(jìn)行增、刪、改、查詢功能。庫(kù)存盤點(diǎn)界面對(duì)各種操作類型(出/入庫(kù)、歸還、調(diào)撥等)的貨物數(shù)量統(tǒng)計(jì),并且可以防止用戶誤操作刪除倉(cāng)庫(kù)中的信息。當(dāng)庫(kù)存中的商品數(shù)量低于商品下限或者高于商品上限時(shí),庫(kù)存會(huì)發(fā)出警報(bào)。當(dāng)有重要通知時(shí),管理員可以在系統(tǒng)中發(fā)布等功能。 </p><p> 對(duì)于普通用戶來(lái)說(shuō),可以根據(jù)需要查詢所需要的庫(kù)存信息,還能查看庫(kù)存警報(bào)有關(guān)信息,以及修改本身密碼等功能。</p>
15、<p> 本系統(tǒng)是以Windows XP系統(tǒng)為操作平臺(tái),在.NET2005環(huán)境下編程實(shí)現(xiàn)。</p><p><b> 系統(tǒng)E-R圖:</b></p><p> 2.2 系統(tǒng)功能模塊</p><p> 本倉(cāng)庫(kù)管理系統(tǒng)分為系統(tǒng)通知、庫(kù)存查詢、庫(kù)存警報(bào)、數(shù)據(jù)報(bào)表、庫(kù)存盤點(diǎn)、單據(jù)管理、修改密碼以及注銷登錄八個(gè)模塊。</p>
16、;<p> 圖2-2 系統(tǒng)模塊圖</p><p><b> 用例圖【3】:</b></p><p><b> 圖 2-3 用例圖</b></p><p> 2.3 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)</p><p> 綜合以上分析,要實(shí)現(xiàn)上面的所有功能模塊,本系統(tǒng)共有6個(gè)數(shù)據(jù)表,分別是:選擇題信
17、息表、判斷題信息表、填空題信息表、問答題信息表、試題科目表、管理員信息表、試卷信息表和試卷內(nèi)容表。</p><p> 表2-1 庫(kù)存產(chǎn)品表(GoodList)</p><p> 表2-2 單據(jù)表(GoodPagers)</p><p> 表2-3 庫(kù)存表(KuCun)</p><p> 表2-4 庫(kù)存回收站表(KuCunHuiShou
18、Zhan)</p><p> 表2-5 系統(tǒng)通知表(SystemTest)</p><p> 表2-6 倉(cāng)儲(chǔ)人員表(UserList)</p><p><b> 第3章 系統(tǒng)實(shí)現(xiàn)</b></p><p> 3.1 管理員主頁(yè)面</p><p> 登錄頁(yè)面(Login.aspx),其中包括
19、四個(gè)label標(biāo)簽,三個(gè)文本域,一個(gè)下拉列表框,兩個(gè)按鈕,左側(cè)為從下往上滾動(dòng)字幕.</p><p> 圖 3-1 登錄頁(yè)面</p><p> 對(duì)于判斷登錄用戶是否合法,用If (dr.Read())來(lái)判斷【4】。登錄按鈕單擊事件代碼如下:</p><p> Dim username, password As String</p><p>
20、; username = TexUserName.Text.ToString().Trim()</p><p> password = TexPassword.Text.ToString().Trim()</p><p> Dim conn As New OleDbConnection("Provider=SQLOLEDB.1;Password=sa;Persist Sec
21、urity Info=True;User ID=sa;Initial Catalog=CangKu;Data Source=.")</p><p> Dim cmd As New OleDbCommand("select * from UserList where UserName='" & username & "' and PassWo
22、rd='" & password & "'", conn)</p><p> conn.Open()</p><p> Dim dr As OleDbDataReader = cmd.ExecuteReader()</p><p> If (dr.Read() And TextYanZhengMa.
23、Text = Label1.Text) Then</p><p> Session("UserName") = username</p><p> If DropDLAdmin.SelectedItem.Value = "管理員" Then</p><p> Response.Redirect("index.a
24、spx")</p><p> ElseIf DropDLAdmin.SelectedItem.Value = "普通用戶" Then</p><p> Response.Redirect("indexPuTong.aspx")</p><p><b> End If</b></p&g
25、t;<p> ElseIf MsgBox("你輸入的用戶名、密碼、驗(yàn)證碼有誤?。?!") Then</p><p><b> End If</b></p><p> conn.Close() </p><p> 產(chǎn)生隨機(jī)驗(yàn)證碼代碼如下: </p><p> If No
26、t IsPostBack Then</p><p> Dim code As Integer</p><p> code = Convert.ToInt16(10000 * Rnd())</p><p> Label1.Text = CStr(code)</p><p><b> End If</b></p
27、><p> 管理員主頁(yè)面(index.aspx),此頁(yè)面使用了框架集,其中包括Top.aspx頁(yè)面、Left.aspx頁(yè)面和Main.aspx頁(yè)面:</p><p> 圖 3-2 框架的頂部</p><p> 使用Now()函數(shù)來(lái)獲取當(dāng)前時(shí)間。</p><p> Label2.Text = Now()</p><p&g
28、t; 圖 3-3 框架的左部 </p><p> 其中點(diǎn)擊注銷登錄按鈕系統(tǒng)會(huì)自動(dòng)跳轉(zhuǎn)到Login.aspx頁(yè)面。</p><p> 點(diǎn)擊系統(tǒng)通知系統(tǒng)會(huì)自動(dòng)跳轉(zhuǎn)到XiTongTongZhi.aspx頁(yè)面:</p><p> 圖 3-4 系統(tǒng)通知</p><p> 頁(yè)面加載時(shí)代碼如下:</p><p> If
29、Not Page.IsPostBack Then</p><p> DataBindGridView()</p><p><b> End If</b></p><p> 其中DataBindGridView()子過程代碼為:</p><p> Sub DataBindGridView()</p>
30、<p> '建立Connection對(duì)象</p><p> Dim conn As New OleDbConnection("Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=CangKu;Data Source=.")</p><
31、p> '建立Command對(duì)象</p><p> Dim cmd As New OleDbCommand("select * from SystemTest ", conn)</p><p> '建立DataAdapter對(duì)象</p><p> Dim adp As New OleDbDataAdapter(cmd)
32、</p><p> '建立DataSet對(duì)象</p><p> Dim ds As New DataSet()</p><p> '填充DataSet對(duì)象</p><p> adp.Fill(ds, "link")</p><p><b> '綁定數(shù)據(jù)對(duì)象
33、</b></p><p> GridView1.DataSource = ds.Tables("link").DefaultView '指定數(shù)據(jù)源</p><p> GridView1.DataBind() '執(zhí)行綁定</p><p><b>
34、; End Sub</b></p><p> 插入按鈕單擊事件代碼如下:</p><p> Dim strsql, bianhao, biaoti, shijian As String</p><p> bianhao = TextBianHao.Text.ToString().Trim()</p><p> biaot
35、i = TextBiaoTi.Text.ToString().Trim()</p><p> shijian = TextShiJian.Text.ToString().Trim()</p><p> strsql = "insert into SystemTest values('" & bianhao & "','
36、;" & biaoti & "','" & shijian & "')"</p><p> Dim conn As New OleDbConnection("Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;
37、Initial Catalog=CangKu;Data Source=.")</p><p> Dim cmd1 As New OleDbCommand("select * from SystemTest where id='" & bianhao & "'", conn)</p><p> conn.O
38、pen()</p><p> Dim dr1 As OleDbDataReader = cmd1.ExecuteReader()</p><p> If (Not dr1.Read()) Then</p><p> Dim cmd2 As New OleDbCommand(strsql, conn)</p><p> Dim dr2
39、As OleDbDataReader = cmd2.ExecuteReader()</p><p> Label1.Text = "插入成功!"</p><p> ElseIf MsgBox("此編號(hào)已經(jīng)存在?。。?quot;) Then</p><p><b> End If</b></p>
40、<p> conn.Close()</p><p> '重新對(duì)控件進(jìn)行綁定,是顯示的信息始終是最新的</p><p> DataBindGridView()</p><p> 單擊庫(kù)存查詢按鈕時(shí)系統(tǒng)自動(dòng)進(jìn)入KuCunChaXun.aspx頁(yè)面,其中用戶可以根據(jù)自己的需求來(lái)選擇查詢條件,即可以按照產(chǎn)品名稱進(jìn)行查詢也可按照產(chǎn)品編號(hào)進(jìn)行查詢。&l
41、t;/p><p> 圖 3-5 庫(kù)存查詢</p><p> 其中查詢按鈕單擊事件代碼如下:</p><p> Dim strsql, strsql2 As String</p><p> '建立Connection對(duì)象</p><p> Dim conn As New OleDbConnection(&q
42、uot;Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=CangKu;Data Source=.")</p><p> '建立Command對(duì)象</p><p> strsql = "select * from GoodList whe
43、re GoodNum='" & TexKeyName.Text & "' "</p><p> strsql2 = "select * from GoodList where GoodMingCheng='" & TexKeyName.Text & "'"</p>
44、<p> Dim cmd As New OleDbCommand(strsql, conn)</p><p> Dim cmd2 As New OleDbCommand(strsql2, conn)</p><p> '建立DataAdapter對(duì)象</p><p> Dim adp As New OleDbDataAdapter(cmd)
45、</p><p> Dim adp2 As New OleDbDataAdapter(cmd2)</p><p> '建立DataSet對(duì)象</p><p> Dim ds As New DataSet()</p><p> Dim ds2 As New DataSet()</p><p> '
46、;填充DataSet對(duì)象</p><p> If (RadLeiXing.Text = "產(chǎn)品編號(hào)") Then</p><p> adp.Fill(ds, "link")</p><p> GridView1.DataSource = ds.Tables("link").DefaultView<
47、;/p><p><b> End If</b></p><p> If (RadLeiXing.Text = "產(chǎn)品名稱") Then</p><p> adp2.Fill(ds2, "link")</p><p> GridView1.DataSource = ds2.Tab
48、les("link").DefaultView</p><p><b> End If</b></p><p> GridView1.DataBind() '執(zhí)行綁定</p><p> 單擊庫(kù)存警報(bào)按鈕,系統(tǒng)頁(yè)面跳轉(zhuǎn)到KuCunJingBao.aspx
49、頁(yè)面,本功能主要通過GridView控件來(lái)實(shí)現(xiàn),其中“現(xiàn)有庫(kù)存”使用模板列,用label標(biāo)簽來(lái)顯示數(shù)據(jù)庫(kù)中的值,并且設(shè)置label標(biāo)簽顯示紅色字體。</p><p> 圖 3-6 庫(kù)存警報(bào)</p><p> 在頁(yè)面加載事件中寫入如下代碼:</p><p> Dim strsql As String</p><p> '建立Co
50、nnection對(duì)象</p><p> Dim conn As New OleDbConnection("Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=CangKu;Data Source=.")</p><p> '建立Comman
51、d對(duì)象</p><p> strsql = "select * from KuCun where xianyoukucun > shuliangshangxian or xianyoukucun < shuliangxiaxian"</p><p> Dim cmd As New OleDbCommand(strsql, conn)</p>
52、<p> '建立DataAdapter對(duì)象</p><p> Dim adp As New OleDbDataAdapter(cmd)</p><p> '建立DataSet對(duì)象</p><p> Dim ds As New DataSet()</p><p> '填充DataSet對(duì)象</
53、p><p> adp.Fill(ds, "link")</p><p> GridView1.DataSource = ds.Tables("link").DefaultView '指定數(shù)據(jù)源</p><p><b> '綁定數(shù)據(jù)對(duì)象</b></p><p>
54、 GridView1.DataBind()</p><p> 單擊密碼修改按鈕進(jìn)入XiuGaiMiMa.aspx頁(yè)面,當(dāng)修改成功時(shí)彈出成功對(duì)話框 :</p><p> 圖 3-7 密碼修改</p><p> 修改按鈕單擊事件代碼如下:</p><p> Dim jiumima, xinmima1, xinmima2 As Strin
55、g</p><p> jiumima = TextBox1.Text.ToString().Trim()</p><p> xinmima1 = TextBox2.Text.ToString().Trim()</p><p> xinmima2 = TextBox3.Text.ToString().Trim()</p><p> Di
56、m conn As New OleDbConnection("Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=CangKu;Data Source=.")</p><p> Dim cmd1 As New OleDbCommand("select * from
57、 UserList where PassWord='" & jiumima & "' and UserName= '" & Session("UserName") & "'", conn)</p><p> conn.Open()</p><p> Di
58、m dr1 As OleDbDataReader = cmd1.ExecuteReader()</p><p><b> '判斷記錄是否存在</b></p><p> If (dr1.Read()) Then</p><p> If TextBox2.Text = TextBox3.Text Then</p><
59、;p> Dim cmd2 As New OleDbCommand("update UserList set PassWord='" & xinmima1 & "' where UserName='" & Session("UserName") & "'", conn)</p>
60、<p> Dim dr2 As OleDbDataReader = cmd2.ExecuteReader()</p><p> MsgBox("恭喜,密碼修改成功")</p><p> ElseIf MsgBox("兩次輸入的密碼不一致") Then</p><p><b> End If<
61、;/b></p><p> ElseIf MsgBox("你輸入的密碼有誤?。?!") Then</p><p><b> End If</b></p><p> conn.Close()</p><p> 當(dāng)單擊數(shù)據(jù)報(bào)表按鈕時(shí)系統(tǒng)進(jìn)入頁(yè)面ShuJuBaoBiao.aspx,用戶可以從下拉
62、列表中選擇不同的數(shù)據(jù)表進(jìn)行導(dǎo)出。</p><p> 圖 3-8 數(shù)據(jù)報(bào)表</p><p> 在確定按鈕的單擊事件中寫入如下代碼:</p><p> If IsPostBack Then</p><p> DataBind()</p><p><b> End If</b></p&g
63、t;<p> 其中databind()子過程如下:</p><p> Sub databinds()</p><p> If DropDownList1.Text = "GoodPapers" Then</p><p> strbm = "GoodPapers"</p><p>&
64、lt;b> End If</b></p><p> If DropDownList1.Text = "KuCun" Then</p><p> strbm = "KuCun"</p><p><b> End If</b></p><p> Dim st
65、r As String</p><p> str = "select * from " & strbm</p><p> Dim conn As New OleDbConnection("Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Cat
66、alog=CangKu;Data Source=..")</p><p> Dim cmd As New OleDbCommand(str, conn)</p><p> Dim adp As New OleDbDataAdapter(cmd)</p><p> Dim ds As New DataSet</p><p>
67、adp.Fill(ds, "link")</p><p> GridView1.DataSource = ds.Tables("link").DefaultView</p><p> GridView1.DataBind()</p><p><b> End Sub</b></p>&
68、lt;p> 在“導(dǎo)出Excel數(shù)據(jù)表”按鈕的單擊事件中寫入如下代碼:</p><p> GridView1.Visible = True</p><p> Response.Clear()</p><p> Response.Buffer = True</p><p> GridView1.DataBind()</p&g
69、t;<p> Response.Charset = "GB2312"</p><p> Response.ContentEncoding = System.Text.Encoding.UTF7</p><p> Response.AddHeader("Content-Disposition", "attachment;f
70、ilename=FileFlow.xls")</p><p> Response.ContentType = "application/ms-excel"</p><p> GridView1.EnableViewState = False</p><p> Dim strWriter As New StringWriter()&
71、lt;/p><p> Dim htw As New HtmlTextWriter(strWriter)</p><p> GridView1.DataBind()</p><p> GridView1.RenderControl(htw)</p><p> Response.Write(strWriter.ToString)</p&
72、gt;<p> Response.Flush()</p><p> Response.End()</p><p> GridView1.Visible = False</p><p> GridView1.DataBind()</p><p> 在“導(dǎo)出Word數(shù)據(jù)表”按鈕的單擊事件中寫入如下代碼:</p>
73、<p> GridView1.Visible = True</p><p> Response.Clear()</p><p> Response.Buffer = True</p><p> GridView1.DataBind()</p><p> Response.Charset = "GB2312&q
74、uot;</p><p> Response.ContentEncoding = System.Text.Encoding.UTF7</p><p> Response.AddHeader("Content-Disposition", "attachment;filename=FileFlow.doc")</p><p>
75、 Response.ContentType = "application/ms-word"</p><p> GridView1.EnableViewState = False</p><p> Dim strWriter As New StringWriter()</p><p> Dim htw As New HtmlTextWrit
76、er(strWriter)</p><p> GridView1.DataBind()</p><p> GridView1.RenderControl(htw)</p><p> Response.Write(strWriter.ToString)</p><p> Response.Flush()</p><p
77、> Response.End()</p><p> GridView1.Visible = False</p><p> GridView1.DataBind()</p><p> 3.2 庫(kù)存單據(jù)管理</p><p> 當(dāng)點(diǎn)擊庫(kù)存盤點(diǎn)按鈕時(shí)系統(tǒng)進(jìn)入KuCunPanDian.sapx頁(yè)面,此頁(yè)面主要通過GridView控件來(lái)實(shí)
78、現(xiàn),當(dāng)系統(tǒng)第一次運(yùn)行時(shí)“把所刪除的記錄放入回收站”按鈕不可用,只有單擊GridView控件里面的“刪除”按鈕時(shí)此按鈕才可用。</p><p> 圖 3-9 庫(kù)存管理</p><p> 其中在GridView控件的GridView1_RowUpdating事件中寫入如下代碼:</p><p> Dim conn As New OleDbConnection(&q
79、uot;Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=CangKu;Data Source=.")</p><p> '定義變量取GridView中的值</p><p> Dim strsql, bianhao, mingcheng, kucu
80、n, shangxian, xiaxian, huojia, cangku As String</p><p> bianhao = GridView1.DataKeys(e.RowIndex).Value.ToString().Trim()</p><p> mingcheng = CType(GridView1.Rows(e.RowIndex).Cells("1"
81、;).Controls(0), TextBox).Text.ToString().Trim()</p><p> kucun = CType(GridView1.Rows(e.RowIndex).Cells("2").Controls(0), TextBox).Text.ToString().Trim()</p><p> shangxian = CType(Gri
82、dView1.Rows(e.RowIndex).Cells("3").Controls(0), TextBox).Text.ToString().Trim()</p><p> xiaxian = CType(GridView1.Rows(e.RowIndex).Cells("4").Controls(0), TextBox).Text.ToString().Trim()
83、</p><p> huojia = CType(GridView1.Rows(e.RowIndex).Cells("5").Controls(0), TextBox).Text.ToString().Trim()</p><p> cangku = CType(GridView1.Rows(e.RowIndex).Cells("6").Cont
84、rols(0), TextBox).Text.ToString().Trim()</p><p> strsql = "update KuCun set chanpinmingcheng='" & mingcheng & "',xianyoukucun='" & CInt(kucun) & "',s
85、huliangshangxian='" & CInt(shangxian) & "',shuliangxiaxian='" & CInt(xiaxian) & "',suoshuhuojia='" & CInt(huojia) & "',suoshucangku='"
86、; & CInt(cangku) & "' where chanpinbianhao='" & bianhao & "'"</p><p> Dim cmd As New OleDbCommand(strsql, conn)</p><p> conn.Open()</p>&
87、lt;p> cmd.ExecuteNonQuery()</p><p> conn.Close()</p><p><b> '重新綁定</b></p><p> GridView1.EditIndex = -1</p><p> GridViewDataBind()</p><
88、;p> 在GridView控件的GridView1_RowDeleting事件中寫入如下代碼:</p><p> Dim conn As New OleDbConnection("Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=CangKu;Data Source=.&q
89、uot;)</p><p> '定義變量取GridView中的值</p><p> Dim strsql, strsql1, chanpinbianhaotext, a1, a2, a3, a4, a5, a6, a7 As String</p><p> chanpinbianhaotext = GridView1.DataKeys(e.RowInd
90、ex).Value.ToString()</p><p> strsql1 = "select * from KuCun where chanpinbianhao='" & chanpinbianhaotext & "'"</p><p> strsql = "delete KuCun where cha
91、npinbianhao='" & chanpinbianhaotext & "'"</p><p> Dim cmd1 As New OleDbCommand(strsql1, conn)</p><p> Dim cmd As New OleDbCommand(strsql, conn)</p><p&
92、gt; conn.Open()</p><p> Dim dr1 As OleDbDataReader = cmd1.ExecuteReader()</p><p> If (dr1.Read()) Then '若存在</p><p> a1 = dr1.Item("chanpinbianhao")</p><
93、p> a2 = dr1.Item("chanpinmingcheng")</p><p> a3 = dr1.Item("xianyoukucun")</p><p> a4 = dr1.Item("shuliangshangxian")</p><p> a5 = dr1.Item(&quo
94、t;shuliangxiaxian")</p><p> a6 = dr1.Item("suoshuhuojia")</p><p> a7 = dr1.Item("suoshucangku")</p><p> '用Session存取sql語(yǔ)句,以便在KuCunPanDianHuiShouZhan.a
95、spx頁(yè)面中使用</p><p> Session("strsql2") = "insert into KuCunHuiShouZhan values('" & a1 & "','" & a2 & "','" & a3 & "'
96、,'" & a4 & "','" & a5 & "','" & a6 & "','" & a7 & "')"</p><p> '用Session存取sql語(yǔ)句,在從回收站頁(yè)面KuCunP
97、anDianHuiShouZhan.aspx向頁(yè)面KuCunPanDian.aspx恢復(fù)數(shù)據(jù)時(shí)使用</p><p> Session("strsql3") = "insert into KuCun values('" & a1 & "','" & a2 & "','&qu
98、ot; & a3 & "','" & a4 & "','" & a5 & "','" & a6 & "','" & a7 & "')"</p><p> '
99、;當(dāng)從頁(yè)面KuCunPanDianHuiShouZhan.aspx向頁(yè)面KuCunPanDian.aspx恢復(fù)數(shù)據(jù)的同時(shí) 刪除KuCunPanDianHuiShouZhan.aspx頁(yè)面的恢復(fù)數(shù)據(jù) sql語(yǔ)句</p><p> Session("del") = "delete KuCunHuiShouZhan where chanpinbianhao='" &am
100、p; chanpinbianhaotext & "'"</p><p><b> End If</b></p><p> cmd.ExecuteNonQuery()</p><p> conn.Close()</p><p><b> '重新綁定</b&
101、gt;</p><p> GridView1.EditIndex = -1</p><p> GridViewDataBind()</p><p> LinkButton2.Enabled = True</p><p> 插入按鈕單擊事件代碼:</p><p> Dim strsql, bianhao, mi
102、ngcheng, kucun, shangxian, xiaxian, huojia, cangku As String</p><p> bianhao = TexBianHao.Text.ToString().Trim()</p><p> mingcheng = Texmingcheng.Text.ToString().Trim()</p><p> k
103、ucun = TextKucun.Text.ToString().Trim()</p><p> shangxian = TextShangxian.Text.ToString().Trim()</p><p> xiaxian = TextXiaXian.Text.ToString().Trim()</p><p> huojia = TextHuoJia.
104、Text.ToString().Trim()</p><p> cangku = TextCangku.Text.ToString().Trim()</p><p> strsql = "insert into KuCun values('" & bianhao & "','" & mingchen
105、g & "','" & kucun & "','" & shangxian & "','" & xiaxian & "','" & huojia & "','" & cangku
106、& "')"</p><p> Dim conn As New OleDbConnection("Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=CangKu;Data Source=.")</p><p>
107、 Dim cmd1 As New OleDbCommand("select * from KuCun where chanpinbianhao='" & bianhao & "'", conn)</p><p> conn.Open()</p><p> Dim dr1 As OleDbDataReader = c
108、md1.ExecuteReader()</p><p> If (Not dr1.Read()) Then '若插入的主鍵值不存在,插入成功</p><p> Dim cmd2 As New OleDbCommand(strsql, conn)</p><p> Dim dr2 As OleDbDataReader = cmd2.ExecuteRead
109、er()</p><p> Label1.Text = "插入成功!"</p><p> ElseIf MsgBox("此產(chǎn)品編號(hào)已經(jīng)存在?。?!") Then '否則彈出提示</p><p><b> End If</b></p><p> conn.Close()
110、</p><p> '重新綁定GridView控件,使每次顯示的數(shù)據(jù)都是最新的</p><p> GridViewDataBind()</p><p> 在“把所刪除的記錄放入回收站”按鈕的單擊事件中寫入代碼:</p><p> Response.Redirect("KuCunPanDianHuiShouZhan.a
111、spx")</p><p> 當(dāng)點(diǎn)擊“把所刪除的記錄放入回收站”按鈕時(shí),系統(tǒng)會(huì)跳轉(zhuǎn)到回收站頁(yè)面(KuCunPanDianHuiShouZhan.aspx):</p><p> 圖 3-10 回收站</p><p> 在“把數(shù)據(jù)從回收站恢復(fù)“按鈕的單擊事件中寫入如下代碼:</p><p> Dim conn As New Ol
112、eDbConnection("Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=CangKu;Data Source=.")</p><p> conn.Open()</p><p> Dim cmd As New OleDbCommand(Se
113、ssion("strsql3"), conn)</p><p> Dim cmd1 As New OleDbCommand(Session("del"), conn)</p><p> Dim dr As OleDbDataReader = cmd.ExecuteReader()</p><p> Label1.Text
114、 = "數(shù)據(jù)已經(jīng)從回收站中恢復(fù)!"</p><p> Dim dr1 As OleDbDataReader = cmd1.ExecuteReader()</p><p> conn.Close()</p><p> Button1.Enabled = False</p><p> 在頁(yè)面加載事件中寫入代碼:<
115、/p><p> If (Not Page.IsPostBack) Then</p><p> Dim conn As New OleDbConnection("Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=CangKu;Data Source=."
116、;)</p><p> conn.Open()</p><p> Dim cmd As New OleDbCommand(Session("strsql2"), conn)</p><p> Dim dr As OleDbDataReader = cmd.ExecuteReader()</p><p> conn.
117、Close()</p><p> '重新綁定GridView控件,使每次顯示的數(shù)據(jù)都是最新的</p><p> GridViewDataBind()</p><p> 在GridView控件的GridView1_RowDeleting事件中寫入代碼:</p><p> Dim conn As New OleDbConnecti
118、on("Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=CangKu;Data Source=.")</p><p> '定義變量取GridView中的值</p><p> Dim strsql, chanpinbianhaotext
119、As String</p><p> chanpinbianhaotext = GridView1.DataKeys(e.RowIndex).Value.ToString()</p><p> strsql = "delete KuCunHuiShouZhan where chanpinbianhao='" & chanpinbianhaotext
120、& "'"</p><p> Dim cmd As New OleDbCommand(strsql, conn)</p><p> conn.Open()</p><p> cmd.ExecuteNonQuery()</p><p> conn.Close()</p><p>
121、;<b> '重新綁定</b></p><p> GridView1.EditIndex = -1</p><p> GridViewDataBind()</p><p> 當(dāng)點(diǎn)擊單據(jù)管理按鈕時(shí)進(jìn)入DanJuGuanLi.aspx頁(yè)面,此頁(yè)面支持單據(jù)錄入、刪除、更改功能,同時(shí)可以支持多種條件的查詢,例如模糊、精確查詢,一個(gè)條件或
122、者多個(gè)條件相聯(lián)合查詢,用表格的形式顯示查詢結(jié)果。</p><p> 圖 3-11 單據(jù)管理</p><p> 在查詢按鈕的單擊事件中寫入以下代碼:</p><p> '以下變量存取文本框中的值(查詢數(shù)據(jù)的值)</p><p> Dim texczlx, texczr, texcpmc, texcpsl, texxqr, tex
123、czsj As String</p><p> '以下變量存取下拉列表框的值(查詢條件表達(dá)式)</p><p> Dim Droptiaojian, dropleixing1, dropcaozuoren1, dropmingcheng1, dropshuliang1, dropxvqiuren1, dropshijian1 As String</p><p
124、> texczlx = Texcaozuoleixing.Text</p><p> texczr = Texcaozuoren.Text</p><p> texcpmc = Texchanpinmingcheng.Text</p><p> texcpsl = Texchanpinshuliang.Text</p><p>
125、 texxqr = Texxvqiuren.Text</p><p> texczsj = Texcaozuoshijian.Text</p><p> Droptiaojian = DropSelectTiaoJian.SelectedItem.Value.ToString()</p><p> dropshuliang1 = DropShuliang.S
126、electedItem.Value.ToString() + "'" + texcpsl + "'"</p><p> '判斷查詢條件,若為精確查詢,則表達(dá)式為”=“</p><p> If (DropLeiXing.SelectedItem.Text = "精確查詢") Then</p>
127、<p> dropleixing1 = DropLeiXing.SelectedItem.Value.ToString() + "'" + texczlx + "'"</p><p> ElseIf (DropLeiXing.SelectedItem.Text = "模糊查詢") Then '若為模糊查詢,表達(dá)式為
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 倉(cāng)庫(kù)管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---倉(cāng)庫(kù)管理系統(tǒng)
- 倉(cāng)庫(kù)管理系統(tǒng)畢業(yè)設(shè)計(jì)(全面)
- 倉(cāng)庫(kù)管理系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 倉(cāng)庫(kù)管理系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 倉(cāng)庫(kù)管理系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 倉(cāng)庫(kù)管理系統(tǒng)課題畢業(yè)設(shè)計(jì)
- 倉(cāng)庫(kù)管理系統(tǒng)畢業(yè)設(shè)計(jì)(論文)
- 倉(cāng)庫(kù)管理系統(tǒng)文檔畢業(yè)設(shè)計(jì)
- 倉(cāng)庫(kù)管理系統(tǒng)畢業(yè)設(shè)計(jì)8
- 畢業(yè)設(shè)計(jì)---vb倉(cāng)庫(kù)管理系統(tǒng) (2)
- delphi倉(cāng)庫(kù)管理系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 原料倉(cāng)庫(kù)管理系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 倉(cāng)庫(kù)管理系統(tǒng)畢業(yè)設(shè)計(jì)論文.doc
- 倉(cāng)庫(kù)管理畢業(yè)設(shè)計(jì)
- 物流管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 計(jì)算機(jī)畢業(yè)設(shè)計(jì)-倉(cāng)庫(kù)管理系統(tǒng)
- 基于web的倉(cāng)庫(kù)管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---倉(cāng)庫(kù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 倉(cāng)庫(kù)進(jìn)存銷管理系統(tǒng) 畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論