版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課 程 設(shè) 計(jì)</b></p><p><b> 課程設(shè)計(jì)任務(wù)書</b></p><p> 學(xué)生姓名: 專業(yè)班級(jí): </p><p> 指導(dǎo)教師: 工作單位: </p><p
2、><b> 題 目: </b></p><p> 已知技術(shù)參數(shù)和設(shè)計(jì)要求:</p><p> 調(diào)查書店圖書銷售業(yè)務(wù),設(shè)計(jì)的圖書銷售系統(tǒng)主要包括進(jìn)貨、退貨、統(tǒng)計(jì)、銷售</p><p><b> 功能。</b></p><p> 進(jìn)貨:根據(jù)某種書籍的庫存量及銷售情況確定進(jìn)貨數(shù)量,根據(jù)供
3、應(yīng)商報(bào)價(jià)選擇供應(yīng)</p><p> 商。輸出一份進(jìn)貨單并自動(dòng)修改庫存量,把本次進(jìn)貨的信息添加到進(jìn)貨庫
4、
5、 </p><p> 退貨:顧客把己買的書籍退還給書店。輸出一份退貨單并自動(dòng)修改庫存量,把本次</p><p> 退貨的信息添加到退貨庫中。</p><p> 要求完成的主要任務(wù):
6、(包括課程設(shè)計(jì)工作量及其技術(shù)要求,以及說明書撰寫等具體要求)</p><p> 完成的任務(wù):實(shí)現(xiàn)了各類訂單的生成以及根據(jù)訂單修改庫存的圖書存儲(chǔ)量。</p><p> 時(shí)間安排:2011年12月9日-2011年12月25日</p><p> 指導(dǎo)教師簽名: 年 月 日</p><p>
7、 《大型數(shù)據(jù)庫》課程設(shè)計(jì)</p><p><b> 題目:銷售管理系統(tǒng)</b></p><p><b> 班級(jí): </b></p><p><b> 姓名: </b></p><p><b> 學(xué)號(hào): </b></p><p&
8、gt;<b> 指導(dǎo)教師: </b></p><p> 完成日期:2011年12月15日</p><p><b> 目錄</b></p><p><b> 1.項(xiàng)目概述1</b></p><p><b> 1.1功能概述1</b></p
9、><p> 1.2 可行性分析1</p><p> 2.項(xiàng)目需求分析2</p><p> 2.1系統(tǒng)功能需求分析2</p><p> 2.2系統(tǒng)總用例分析2</p><p> 2.3系統(tǒng)用例分析3</p><p> 2.3.1 基本信息維護(hù)用例3</p><
10、;p> 2.3.2采購商品用例3</p><p> 2.3.3 庫存管理3</p><p> 2.3.4 銷售商品4</p><p> 2.4 系統(tǒng)流程分析4</p><p> 2.5 模塊分析5</p><p> 3.系統(tǒng)詳細(xì)設(shè)計(jì)6</p><p> 3.1
11、數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)6</p><p><b> 3.2表設(shè)計(jì)6</b></p><p> 3.3后臺(tái)數(shù)據(jù)庫設(shè)計(jì)及重要的PL&SQL代碼7</p><p> 3.3 前臺(tái)開發(fā)10</p><p> 3.3.1 系統(tǒng)登陸界面10</p><p> 3.3.2 主界面10&
12、lt;/p><p> 3.3.3 基本信息維護(hù)界面11</p><p> 3.3.4 采購界面11</p><p> 3.3.5 銷售界面12</p><p> 3.3.6 庫存界面12</p><p> 3.4 功能實(shí)現(xiàn)14</p><p> 3.4.1 采購訂單生成14&
13、lt;/p><p> 3.4.2 采購?fù)素浻唵紊晒δ?5</p><p> 3.4.3 銷售退貨訂單生成15</p><p> 3.4.4 庫存盤點(diǎn)-采購訂單15</p><p> 3.4.5 庫存盤點(diǎn)-退貨訂單16</p><p> 3.4.6 庫存盤點(diǎn)-銷售退貨訂單16</p>&l
14、t;p><b> 4.開發(fā)心得17</b></p><p><b> 1.項(xiàng)目概述</b></p><p> 書店為了對(duì)圖書的采購、銷售信息的管理,就需要一個(gè)方便快捷的軟件來對(duì)此進(jìn)行系統(tǒng)的、高效的操作。該圖書管理系統(tǒng)操作節(jié)目簡(jiǎn)潔,實(shí)用,能夠在較短時(shí)間內(nèi)掌握使用方法。</p><p><b> 1.
15、1功能概述</b></p><p> 通過初步分析,得到銷售管理系統(tǒng)的主要功能如下:</p><p><b> ·用戶登陸驗(yàn)證</b></p><p><b> ·用戶信息維護(hù)</b></p><p><b> ·圖書信息維護(hù)</b&
16、gt;</p><p><b> ·供應(yīng)商信息維護(hù)</b></p><p><b> ·采購入庫訂單生成</b></p><p><b> ·采購?fù)素浻唵紊?lt;/b></p><p><b> ·銷售出庫訂單生成<
17、/b></p><p><b> ·銷售退貨訂單生成</b></p><p><b> ·庫存查詢</b></p><p><b> 1.2 可行性分析</b></p><p> 從投資角度看,本系統(tǒng)能夠提高業(yè)務(wù)的運(yùn)轉(zhuǎn)效率和企業(yè)的市場(chǎng)競(jìng)爭(zhēng)力,采
18、用計(jì)算機(jī)軟件管理,可以降低運(yùn)營成本,減少員工的工作量。</p><p> 該系統(tǒng)運(yùn)用.NET平臺(tái)和Oracle數(shù)據(jù)庫,能夠有效的幫助企業(yè)管理業(yè)務(wù),能夠滿足企業(yè)的需要。</p><p> 再者,現(xiàn)在運(yùn)用計(jì)算機(jī)軟件管理企業(yè)業(yè)務(wù)已經(jīng)是一種趨勢(shì),運(yùn)用軟件可以減少員工手工記賬是的錯(cuò)誤,大大的提高了企業(yè)的營業(yè)效率。</p><p><b> 2.項(xiàng)目需求分析&l
19、t;/b></p><p> 2.1系統(tǒng)功能需求分析</p><p> 分析得出銷售管理系統(tǒng)的使用者分為三類:銷售人員、采購人員以及管理人員。于是對(duì)三者收集需求,統(tǒng)計(jì)得到如下表所示的功能需求。</p><p> 根據(jù)用戶的需求,可以把模塊劃分為如表2-2所示,并對(duì)其模塊進(jìn)行劃分和功能描述。</p><p> 2.2系統(tǒng)總用例分析
20、</p><p> 圖 2-1 系統(tǒng)總用例</p><p><b> 2.3系統(tǒng)用例分析</b></p><p> 2.3.1 基本信息維護(hù)用例</p><p> ·描述:提供維護(hù)員工信息、維護(hù)圖書信息、維護(hù)供應(yīng)商信息(刪除操作在庫存不為0是不能進(jìn)行圖書信息刪除)。</p><p&g
21、t;<b> ·參與者:管理者。</b></p><p> ·用例圖:圖2-2.</p><p> 圖 2-2 基本信息維護(hù)用例</p><p> 2.3.2采購商品用例</p><p> ·描述:提供采購圖書入庫(若新增圖書,則該圖書的庫存量為0 ,需要在采購界面輸入采購數(shù)量)的
22、功能。</p><p><b> ·參與者:采購員.</b></p><p><b> ·用例圖:圖2-3</b></p><p> 圖 2-3 采購用例圖</p><p> 2.3.3 庫存管理</p><p> ·描述:提供圖書庫存
23、盤點(diǎn)。</p><p> ·參與者:系統(tǒng)管理員、采購員、銷售員</p><p><b> ·用例圖:圖2-4</b></p><p> 圖 2-4 庫存管理用例圖</p><p> 2.3.4 銷售商品</p><p> ·描述:生成銷售訂單與銷售退貨訂單。
24、</p><p><b> ·參與者:銷售員。</b></p><p><b> ·用例圖:圖2-5</b></p><p> 圖 2-5 銷售用例圖</p><p> 2.4 系統(tǒng)流程分析</p><p> 了解用戶需求之后,就能夠根據(jù)用戶需求
25、來設(shè)定系統(tǒng)的流程,下面就是整個(gè)銷售系統(tǒng)的流程圖,如圖 2-7所示。</p><p> 圖 2-7 銷售系統(tǒng)流程圖</p><p><b> 2.5 模塊分析</b></p><p> 通過上面的分析能夠得出該系統(tǒng)的模塊結(jié)構(gòu)圖如圖 2-8所示</p><p> 圖 2-8 銷售系統(tǒng)模塊結(jié)構(gòu)圖</p>
26、<p><b> 3.系統(tǒng)詳細(xì)設(shè)計(jì)</b></p><p> 3.1 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)</p><p><b> 3.2表設(shè)計(jì)</b></p><p> 在Oracle中設(shè)計(jì)的數(shù)據(jù)庫名字為BookSaleD,其中包含用戶信息表,供應(yīng)商信息表,圖書信息表,庫存表,訂單表。</p><
27、;p> 用戶表(用戶編號(hào),用戶帳號(hào),用戶密碼,用戶名稱,權(quán)限);</p><p> 供應(yīng)商表格(供應(yīng)商編號(hào),供應(yīng)商名稱,負(fù)責(zé)人電話,聯(lián)系電話,地址);</p><p> 圖書信息(圖書編號(hào),圖書名稱,價(jià)格,折扣,出版日期,供應(yīng)商編號(hào),圖書類型);</p><p> 庫存表(庫存編號(hào),圖書編號(hào),圖書名稱,庫存數(shù)量,最低數(shù)量);</p>&l
28、t;p> 訂單表(訂單編號(hào),日期,操作員,圖書名稱,數(shù)量,訂單類型,判斷符號(hào))。</p><p> 3.3后臺(tái)數(shù)據(jù)庫設(shè)計(jì)及重要的PL&SQL代碼</p><p> 首先開辟一個(gè)新的表空間:</p><p> create tableplace booksaledb datafile</p><p> 'E:\o
29、racle\product\10.2.0\admin\orcl' size 100M;</p><p> 然后建立一個(gè)新的用戶:</p><p> create user booksale identified by zhbsm0010 default tablespace booksaledb;</p><p> 對(duì)用戶授權(quán),由于該用戶會(huì)執(zhí)行很多操作
30、,因此這里授予最高的dba權(quán)限(該操作是在sysdba用戶先操作的):</p><p> Grant dba to booksale;</p><p> 圖書信息表,用來存儲(chǔ)圖書的各種信息。PL&SQL代碼如下:</p><p> create table BookInfo</p><p> (BookId varchar2(
31、22) primary key,</p><p> BookName varchar2(50) not null,</p><p> BookPrice number(10,2) not null,</p><p> BookRate number(3,2) not null,</p><p> BookDate date not n
32、ull,</p><p> BookProviderId int not null,</p><p> BookType varchar2(50) not null,</p><p> foreign key(BookProviderId) references Providers(PrivId))</p><p> 用戶信息表,用來
33、存儲(chǔ)用戶的基本信息。其中用戶權(quán)限一項(xiàng)0表示管理員,1表示銷售員,2表示采購員。</p><p> create table UserInfo</p><p> (UserId int primary key,</p><p> UserLonginID varchar2(20) not null,</p><p> UserName
34、varchar2(20) not null,</p><p> UserPass varchar2(20) not null,</p><p> UserRole int not null)</p><p> 供應(yīng)商表,及圖書出版社,用戶存儲(chǔ)供應(yīng)商的基本信息。</p><p> create table Providers</p
35、><p> ?。≒rivId int primary key,</p><p> PrivName varchar2(20) not null,</p><p> PrivLinkMan varchar2(20) not null,</p><p> privTel varchar2(20) not null,</p><
36、;p> PrivAdr varchar2(50) not null)</p><p> 訂單表,用來存儲(chǔ)訂單的信息。其中在訂單類型一欄中0表示采購入庫,1表示采購?fù)素洠?表示銷售出庫,3表示銷售退貨出庫,還有訂單新舊判斷列0代表是新訂單,1代表是已經(jīng)經(jīng)過庫存盤點(diǎn)之后的訂單。</p><p> create table Orders</p><p> ?。?/p>
37、OrderId int primary key,</p><p> OrderTime timestamp with time zone default systimestamp not null,</p><p> UserId int not null,</p><p> boonname varchar2(50) not null;</p>
38、<p> OrderQuality int not null,</p><p> OrderType int not null,</p><p> OrderJudge int not null,</p><p> foreign key(UserId) references UserInfo(UserId))</p><p&
39、gt; 庫存表,顯示圖書的庫存量,以及產(chǎn)生采購訂單的標(biāo)準(zhǔn)。</p><p> create table StoreRoom</p><p> (StoreID int primary key,</p><p> BookId varchar2(22) not null,</p><p> BookName varchar2(50)
40、not null,</p><p> StoreSum int not null,</p><p> StoreLastNum int not null,</p><p> foreign key(BookId) references BookInfo(BookId) )</p><p> 另外,在數(shù)據(jù)庫設(shè)計(jì)中還設(shè)計(jì)了幾個(gè)遞增序號(hào),分
41、別是:UserId,StoreID,OrderId,PrivId。</p><p> 產(chǎn)生序列號(hào)的代碼如下:</p><p><b> 首先對(duì)用戶授權(quán):</b></p><p> grant create sequence to BookSale</p><p> 然后建立序列號(hào),由于序列號(hào)建立的代碼格式一樣,因
42、此這里只列出建立orderid的代碼:</p><p> create sequence orderid INCREMENT by 1 START with 1 NOCYCLE</p><p> 建立了序列號(hào)之后,用觸發(fā)器來產(chǎn)生遞增的列下面是在orders表上建立的orderid遞增的觸發(fā)器,每當(dāng)插入一張訂單,訂單編號(hào)就增加1,代碼如下:</p><p> c
43、reate or replace trigger orders_trigger</p><p> before insert on orders for each row</p><p><b> begin</b></p><p> select orderid.nextval into:new.orderid from dual;&l
44、t;/p><p><b> end;</b></p><p><b> 3.3 前臺(tái)開發(fā)</b></p><p> 前臺(tái)開發(fā)使用的是.net開發(fā)工具,.net能夠支持Oracle數(shù)據(jù)庫的連接,而且提供了大量的控件,便于界面設(shè)計(jì)。能夠有效的提高開發(fā)效率。</p><p> 3.3.1 系統(tǒng)登陸界面
45、</p><p> 系統(tǒng)登陸界面提供給用戶登陸系統(tǒng)的可視操作,用戶根據(jù)相應(yīng)的用戶名,密碼,登陸權(quán)限登陸系統(tǒng)。不同的權(quán)限在會(huì)擁有不同的操作界面。</p><p> 圖 3-2 系統(tǒng)登陸界面</p><p><b> 3.3.2 主界面</b></p><p> 主界面是根據(jù)不同的權(quán)限的用戶設(shè)計(jì)的一個(gè)菜單界面,用戶在
46、這個(gè)界面可以根據(jù)自己的權(quán)限與操作要求選擇相應(yīng)的操作。選這操作之后會(huì)打開子窗口,進(jìn)行下面的操作。</p><p> 圖 3-3 系統(tǒng)主界面</p><p> 3.3.3 基本信息維護(hù)界面</p><p> 基本信息界面是只有擁有管理員權(quán)限的用戶才能夠操作的界面,才這個(gè)界面中有員工信息、圖書信息、供應(yīng)商信息三個(gè)選項(xiàng),分別對(duì)應(yīng)員工信息更新,圖書信息更新,供應(yīng)商信息跟
47、新。</p><p> 3.3.4 采購界面</p><p> 采購界面是采購員生成采購訂單的界面,采購訂單包括采購與退貨的訂單。采購員對(duì)圖書進(jìn)行相關(guān)采購之后,可以生成采購訂單,以便對(duì)于庫存的管理。</p><p> 圖 3-4 采購訂單生成界面</p><p> 圖 3-5 采購?fù)素浻唵紊山缑?lt;/p><p&g
48、t; 3.3.5 銷售界面</p><p> 銷售界面是銷售員生成銷售訂單的界面,銷售訂單包括正常銷售和銷售退貨。銷售員在圖書銷售時(shí)產(chǎn)生銷售訂單,以便對(duì)庫存進(jìn)行管理。</p><p> 圖 3-6 銷售退貨訂單生成界面</p><p> 3.3.6 庫存界面</p><p> 庫存界面是根據(jù)各種訂單對(duì)庫存進(jìn)行相關(guān)的管理的界面。在庫存
49、界面可以根據(jù)訂單修改庫存圖書的相關(guān)信息。也可以查看訂單的相關(guān)信息,從而能夠統(tǒng)計(jì)訂單的各種信息,對(duì)圖書銷售進(jìn)行匯總。</p><p> 圖 3-7 盤點(diǎn)庫存—采購?fù)素浻唵?lt;/p><p> 圖 3-8 庫存盤點(diǎn)-采購訂單</p><p> 圖 3-9 庫存盤點(diǎn)-銷售訂單</p><p> 圖 3-10 庫存盤點(diǎn)-銷售退貨訂單</p
50、><p><b> 3.4 功能實(shí)現(xiàn)</b></p><p> 該系統(tǒng)主要實(shí)現(xiàn)的功能有,根據(jù)對(duì)庫存圖書的存儲(chǔ)量產(chǎn)生采購訂單,退貨訂單。根據(jù)銷售的圖書兩產(chǎn)生銷售訂單,然后如果有顧客退還所購買的圖書,要產(chǎn)生銷售退貨訂單,然后更加訂單再修改庫存中的圖書存量。</p><p> 圖 3-11 系統(tǒng)實(shí)驗(yàn)的功能關(guān)系</p><p>
51、; 3.4.1 采購訂單生成</p><p> 輸入圖書名稱可以查看庫存中的該種圖書存量與和該圖書有關(guān)的訂單。根據(jù)庫存量與訂單可以決定需要采購的圖書數(shù)量。在輸入圖書名稱和采購數(shù)量,點(diǎn)擊“生成采購訂單”就能夠產(chǎn)生新的采購訂單。</p><p> 圖 3-12 采購訂單生成功能</p><p> 3.4.2 采購?fù)素浻唵紊晒δ?lt;/p><p
52、> 入圖書名稱可以查看庫存中的該種圖書存量與和該圖書有關(guān)的訂單。根據(jù)庫存量與訂單可以決定需要退貨的圖書數(shù)量。在輸入圖書名稱和采購數(shù)量,點(diǎn)擊“生成訂單”就能夠產(chǎn)生新的退貨訂單。</p><p> 圖 3-13 退貨訂單生成實(shí)現(xiàn)</p><p> 3.4.3 銷售退貨訂單生成</p><p> 入圖書名稱可以查看庫存中的該種圖書存量與和該圖書有關(guān)的訂單。根
53、據(jù)庫存量與訂單可以決定需要退貨的圖書數(shù)量。在輸入圖書名稱和退貨數(shù)量,點(diǎn)擊“生成訂單”就能夠產(chǎn)生新的退貨訂單。</p><p> 圖 3-14 銷售退貨訂單生成</p><p> 3.4.4 庫存盤點(diǎn)-采購訂單</p><p> 點(diǎn)擊訂單查詢可以查看新的采購訂單,根據(jù)圖書庫存,輸入圖書名稱,圖書數(shù)量,和訂單編號(hào)可以修改圖書的庫存量和改變訂單是成為已經(jīng)使用過的訂單
54、。查詢功能可以查看該圖書在庫存中的存儲(chǔ)量。</p><p> 圖 3-15 盤點(diǎn)-采購入庫</p><p> 3.4.5 庫存盤點(diǎn)-退貨訂單</p><p> 點(diǎn)擊訂單查詢可以查看新的退貨訂單,根據(jù)圖書庫存,輸入圖書名稱,圖書數(shù)量,和訂單編號(hào)可以修改圖書的庫存量和改變訂單是成為已經(jīng)使用過的訂單。查詢功能可以查看該圖書在庫存中的存儲(chǔ)量。</p>&
55、lt;p> 圖 3-16 盤點(diǎn)-采購?fù)素?lt;/p><p> 3.4.6 庫存盤點(diǎn)-銷售退貨訂單</p><p> 點(diǎn)擊訂單查詢可以查看新的銷售退貨訂單,根據(jù)圖書庫存,輸入圖書名稱,圖書數(shù)量,和訂單編號(hào)可以修改圖書的庫存量和改變訂單是成為已經(jīng)使用過的訂單。查詢功能可以查看該圖書在庫存中的存儲(chǔ)量。</p><p> 圖 3-17 盤點(diǎn)-銷售退貨</p
56、><p><b> 4.開發(fā)心得</b></p><p> 通過圖書銷售系統(tǒng)的開發(fā),讓我了解到一個(gè)一項(xiàng)目開發(fā)的大致過程,雖然這個(gè)系統(tǒng)某些功能根據(jù)課程設(shè)計(jì)的要求并沒有開發(fā)實(shí)現(xiàn)。但是就這個(gè)系統(tǒng)目前能實(shí)現(xiàn)的功能來說,即使有些地方不夠完善,但是對(duì)于我來說這也是一個(gè)新的里程碑。這個(gè)系統(tǒng)的開發(fā),不僅讓我了解了有關(guān)Oracle數(shù)據(jù)庫的知識(shí),還有.NET的有關(guān)知識(shí),認(rèn)識(shí)的在大學(xué)很多知
57、識(shí)并不是從課堂上來的,更多的是靠自己平時(shí)學(xué)習(xí)慢慢積累的。</p><p> 每次課程設(shè)計(jì)都有不同的收獲,這次也一樣。這次課程設(shè)計(jì)我就靠自己學(xué)會(huì)了C# 的相關(guān)編程和一種關(guān)于Oracle的PL&SQL的有關(guān)知識(shí)。這對(duì)我能完成這次項(xiàng)目開發(fā)有很大的幫助。</p><p><b> 參考文獻(xiàn):</b></p><p> 1.秦倩、石葉平,精
58、通C#與.NET 4.0 數(shù)據(jù)庫開發(fā),北京,清華大學(xué)出版社,2011.1</p><p> 2.蕭文龍、陳怡如,Oracle 10g 數(shù)據(jù)庫入門與實(shí)踐,北京,清華大學(xué)出版社出版社,2006.1</p><p> 3.(美)凱特 著,蘇金國等譯,Oracle9i&10g編程藝術(shù):深入數(shù)據(jù)庫體系結(jié)構(gòu),北京,人民郵電出版社,2006.1</p><p><
59、;b> 附錄1:</b></p><p><b> 數(shù)據(jù)庫相關(guān)代碼</b></p><p> create sequence orderid INCREMENT by 1 START with 1 NOCYCLE;</p><p><b> /</b></p><p>
60、create or replace trigger orders_trigger</p><p> before insert on orders for each row</p><p><b> begin</b></p><p> select orderid.nextval into:new.orderid from dual;&
61、lt;/p><p><b> end;</b></p><p><b> /</b></p><p> create sequence userid INCREMENT by 1 START with 1 NOCYCLE;</p><p><b> /</b></p&
62、gt;<p> create or replace trigger orders_trigger</p><p> before insert on orders for each row</p><p><b> begin</b></p><p> select userid.nextval into:new.user
63、id from dual;</p><p><b> end;</b></p><p><b> /</b></p><p> create sequence StoreID INCREMENT by 1 START with 1 NOCYCLE;</p><p><b> /&l
64、t;/b></p><p> create or replace trigger orders_trigger</p><p> before insert on orders for each row</p><p><b> begin</b></p><p> select StoreID.nextv
65、al into:new.StoreID from dual;</p><p><b> end;</b></p><p><b> /</b></p><p> create sequence PrivId INCREMENT by 1 START with 1 NOCYCLE;</p><p&g
66、t;<b> /</b></p><p> create or replace trigger orders_trigger</p><p> before insert on orders for each row</p><p><b> begin</b></p><p> sele
67、ct PrivId.nextval into:new.PrivId from dual;</p><p><b> end;</b></p><p><b> /</b></p><p><b> 附錄2:</b></p><p><b> 功能實(shí)現(xiàn)主要代碼&
68、lt;/b></p><p><b> 附圖1 目錄結(jié)構(gòu)圖</b></p><p><b> //采購訂單生成</b></p><p> using System;</p><p> using System.Collections.Generic;</p><p&
69、gt; using System.ComponentModel;</p><p> using System.Data;</p><p> using System.Drawing;</p><p> using System.Text;</p><p> using System.Windows.Forms;</p>
70、<p> using Oracle.DataAccess.Client;</p><p> namespace BookSaleSystem.Purchase</p><p><b> {</b></p><p> public partial class Purchase_OrderAdd : Form</p>
71、<p><b> {</b></p><p> public Purchase_OrderAdd()</p><p><b> {</b></p><p> InitializeComponent();</p><p><b> }</b></p&
72、gt;<p> private DataTable Load_Data()</p><p><b> {</b></p><p> OracleConnection con = new OracleConnection(ConDB.constr);</p><p><b> try</b></p
73、><p><b> {</b></p><p> con.Open();</p><p> DataTable dt = new DataTable();</p><p> if (Bookname_Inquire.Text.Trim() != "")</p><p>&l
74、t;b> {</b></p><p> string sql = string.Format("select StoreID,BookId,BookName,StoreSum,StoreLastNum from storeroom where bookname like '%{0}%'", Bookname_Inquire.Text);</p>
75、<p> OracleDataAdapter da = new OracleDataAdapter(sql, con);</p><p> da.Fill(dt);</p><p><b> }</b></p><p><b> else</b></p><p><b&g
76、t; {</b></p><p> string sql = @"select * from storeroom";</p><p> OracleDataAdapter da = new OracleDataAdapter(sql, con);</p><p> da.Fill(dt);</p><p&g
77、t;<b> }</b></p><p> return (dt);</p><p><b> }</b></p><p><b> finally</b></p><p><b> {</b></p><p> con
78、.Close();</p><p><b> }</b></p><p><b> }</b></p><p> private DataTable OrderInfo_Load()</p><p><b> {</b></p><p> Or
79、acleConnection con = new OracleConnection(ConDB.constr);</p><p><b> try</b></p><p><b> {</b></p><p> con.Open();</p><p> DataTable dt = new
80、DataTable();</p><p> if (Bookname_Inquire.Text.Trim() != "")</p><p><b> {</b></p><p> string sql = string.Format("select OrderId,OrderTime,UserId,bookn
81、ame,OrderQuality,OrderType,OrderJudge from Orders where bookname like '%{0}%' and ordertype=0", Bookname_Inquire.Text);</p><p> OracleDataAdapter da = new OracleDataAdapter(sql, con);</p>
82、<p> da.Fill(dt);</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> string sql = @"select * from orders
83、";</p><p> OracleDataAdapter da = new OracleDataAdapter(sql, con);</p><p> da.Fill(dt);</p><p><b> }</b></p><p> return (dt);</p><p>&
84、lt;b> }</b></p><p><b> finally </b></p><p><b> {</b></p><p> con.Close();</p><p><b> }</b></p><p><b&g
85、t; }</b></p><p> private void Inquiry_button_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> Inquiry_dataGridView.DataSource = Load_Data();</p>
86、;<p> OrderInfo_dataGridView.DataSource = OrderInfo_Load();</p><p><b> }</b></p><p> private void Produce_PurchaseOrder_Click(object sender, EventArgs e)</p><p&g
87、t;<b> {</b></p><p> OracleConnection con = new OracleConnection(ConDB.constr);</p><p><b> try</b></p><p><b> {</b></p><p> con.
88、Open();</p><p> string sql = string.Format("insert into orders( UserId,bookname,OrderQuality,OrderType,OrderJudge)"+" values( {0},'{1}',{2},{3},{4})", LoginInfo.LoginUserInfo.Use
89、rId, Order_Bookname.Text, Order_Quality.Text,0,0);</p><p> OracleCommand com = new OracleCommand(sql,con);</p><p> int result = com.ExecuteNonQuery();</p><p> if (result != 0)<
90、;/p><p><b> {</b></p><p> MessageBox.Show("訂單生成生成成功!");</p><p><b> }</b></p><p><b> else </b></p><p><b&g
91、t; {</b></p><p> MessageBox.Show("訂單生成生成失??!");</p><p><b> }</b></p><p><b> }</b></p><p><b> finally</b></p&g
92、t;<p><b> {</b></p><p> con.Close();</p><p><b> }</b></p><p><b> }</b></p><p> private void Purchase_OrderAdd_Load(objec
93、t sender, EventArgs e)</p><p><b> {</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b
94、> //登陸窗口</b></p><p> using System;</p><p> using System.Collections.Generic;</p><p> using System.ComponentModel;</p><p> using System.Data;</p>&l
95、t;p> using System.Drawing;</p><p> using System.Text;</p><p> using System.Windows.Forms;</p><p> using Oracle.DataAccess.Client;</p><p> using BookSaleSystem.E
96、ntity;</p><p> namespace BookSaleSystem</p><p><b> {</b></p><p> public partial class Login_Form : Form</p><p><b> {</b></p><p>
97、; public Login_Form()</p><p><b> {</b></p><p> InitializeComponent();</p><p><b> }</b></p><p> private void login_button_Click(object sende
98、r, EventArgs e)</p><p><b> {</b></p><p> loginValidate();</p><p><b> }</b></p><p> public void loginValidate()</p><p><b>
99、 {</b></p><p> if (userloginid_textBox.Text.Trim() == "" || string.IsNullOrEmpty(userloginid_textBox.Text))</p><p><b> {</b></p><p> MessageBox.Show(
100、"用戶名不能為空!", "登錄提示");</p><p> userloginid_textBox.Focus();</p><p><b> }</b></p><p> else if (password_textBox.Text.Trim() == "" || string
101、.IsNullOrEmpty(password_textBox.Text))</p><p><b> {</b></p><p> MessageBox.Show("密碼不能為空!", "登錄提示");</p><p> password_textBox.Focus();</p>&
102、lt;p><b> }</b></p><p> else if (usertype_comboBox.Text.Trim() == "" || string.IsNullOrEmpty(usertype_comboBox.Text.Trim()))</p><p><b> {</b></p>&l
103、t;p> MessageBox.Show("請(qǐng)選擇登錄類型!", "登錄提示");</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p>
104、UserInfo u = null;</p><p> OracleConnection con = new OracleConnection(ConDB.constr);</p><p><b> try</b></p><p><b> {</b></p><p> con.Open()
105、;</p><p> int userRole = usertype_comboBox.SelectedIndex;</p><p> string sql = string.Format("select * from userinfo where userlonginid='{0}' and userpass='{1}'and UserRol
106、e={2}", userloginid_textBox .Text,password_textBox.Text, userRole);</p><p> OracleCommand com = new OracleCommand(sql, con);</p><p> OracleDataReader dr = com.ExecuteReader();</p>
107、<p> if (dr.Read())</p><p><b> {</b></p><p> u = new UserInfo();</p><p> u.UserId = Convert.ToInt32(dr["UserId"]);</p><p> u.UserlonginI
108、d = dr["UserlonginId"].ToString();</p><p> u.UserName = dr["UserName"].ToString();</p><p> u.UserPass = dr["UserPass"].ToString();</p><p> u.UserRol
109、e = dr["UserRole"].ToString();</p><p><b> }</b></p><p> dr.Close();</p><p> if (u != null)</p><p><b> {</b></p><p>
110、LoginInfo.LoginUserInfo = u;//保存登錄用戶信息</p><p> //UserLoginId.</p><p> 入庫Form_Main fm = new 入庫Form_Main();</p><p> fm.ShowDialog();</p><p><b> }</b></
111、p><p><b> else</b></p><p><b> {</b></p><p> MessageBox.Show("用戶名或密碼錯(cuò)誤!", "登錄提示");</p><p><b> }</b></p>&
112、lt;p><b> }</b></p><p> catch (Exception)</p><p><b> {</b></p><p> MessageBox.Show("請(qǐng)注意數(shù)據(jù)庫連接字符串!", "登錄提示");</p><p><
113、;b> }</b></p><p><b> finally</b></p><p><b> {</b></p><p> con.Close();</p><p><b> }</b></p><p><b>
114、 }</b></p><p><b> }</b></p><p> private void cbo_loginType_KeyDown(object sender, KeyEventArgs e)</p><p><b> {</b></p><p> if (e.KeyCo
115、de == Keys.Enter)//當(dāng)點(diǎn)擊回車鍵</p><p><b> {</b></p><p> if (userloginid_textBox.Text != "" && password_textBox.Text != "")</p><p> loginValidat
116、e();</p><p><b> else</b></p><p> SendKeys.Send("{TAB}");</p><p><b> }</b></p><p><b> }</b></p><p> priva
117、te void reset_button_Click_1(object sender, EventArgs e)</p><p><b> {</b></p><p> userloginid_textBox.Text = "";</p><p> password_textBox.Text = ""
118、;;</p><p> userloginid_textBox.Focus();</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> //主界面&
119、lt;/b></p><p> using System;</p><p> using System.Collections.Generic;</p><p> using System.ComponentModel;</p><p> using System.Data;</p><p> usin
120、g System.Drawing;</p><p> using System.Text;</p><p> using System.Windows.Forms;</p><p> using Oracle.DataAccess.Client;</p><p> using BookSaleSystem.Entity;</p&
121、gt;<p> using BookSaleSystem.Purchase;</p><p> using BookSaleSystem.Sell;</p><p> using BookSaleSystem.Store;</p><p> namespace BookSaleSystem</p><p><b&g
122、t; {</b></p><p> public partial class 入庫Form_Main : Form</p><p><b> {</b></p><p> public 入庫Form_Main()</p><p><b> {</b></p>&l
123、t;p> InitializeComponent();</p><p><b> }</b></p><p> private void Form_Main_Load(object sender, EventArgs e)</p><p><b> {</b></p><p> if
124、 (LoginInfo.LoginUserInfo.UserRole == "1")//當(dāng)前登錄用戶是銷售員</p><p><b> {</b></p><p> BascInfo_ToolStripMenuItem.Enabled = false;</p><p> Purchase_ToolStripMenuIt
125、em.Enabled = false;</p><p><b> }</b></p><p> else if (LoginInfo.LoginUserInfo.UserRole == "2")//當(dāng)前登錄用戶是采購員</p><p><b> {</b></p><p>
126、 BascInfo_ToolStripMenuItem.Enabled = false;</p><p> Sell_ToolStripMenuItem.Enabled = false;</p><p><b> }</b></p><p><b> }</b></p><p> priv
127、ate void Purchase_OrderAdd_ToolStripMenuItem_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> Purchase_OrderAdd NewForm = new Purchase_OrderAdd();</p><p> N
128、ewForm.MdiParent = this;</p><p> NewForm.Show();</p><p><b> }</b></p><p> private void Purchase_OrderReturn_Click(object sender, EventArgs e)</p><p><
129、b> {</b></p><p> Purchase_OrderReturn NewForm = new Purchase_OrderReturn();</p><p> NewForm.MdiParent = this;</p><p> NewForm.Show();</p><p><b> }&l
130、t;/b></p><p> private void Sell_OrderoutToolStripMenuItem_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> Sell_Orderout NewForm = new Sell_Orderout();&l
131、t;/p><p> NewForm.MdiParent = this;</p><p> NewForm.Show();</p><p><b> }</b></p><p> private void Sellin_ToolStripMenuItem_Click(object sender, EventArgs e
132、)</p><p><b> {</b></p><p> Sell_OrderIn NewForm = new Sell_OrderIn();</p><p> NewForm.MdiParent = this;</p><p> NewForm.Show();</p><p><
133、b> }</b></p><p> private void PurchaseIn_ToolStripMenuItem_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> Form_PurchaseIn NewForm = new Form_Pur
134、chaseIn();</p><p> NewForm.MdiParent = this;</p><p> NewForm.Show();</p><p><b> }</b></p><p> private void Store_Check_ToolStripMenuItem_Click(object se
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫課程設(shè)計(jì)--- 銷售管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)--銷售管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)論文---汽車銷售管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)-醫(yī)藥銷售管理系統(tǒng)
- 圖書銷售管理系統(tǒng)--數(shù)據(jù)庫課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)汽車銷售管理系統(tǒng)
- 圖書銷售管理系統(tǒng)(數(shù)據(jù)庫課程設(shè)計(jì))
- 數(shù)據(jù)庫課程設(shè)計(jì)---醫(yī)藥銷售管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)--圖書銷售管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)--藥店銷售管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)-醫(yī)藥銷售管理系統(tǒng)
- 手機(jī)銷售管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)--藥品銷售管理系統(tǒng)
- 圖書銷售管理系統(tǒng)--數(shù)據(jù)庫課程設(shè)計(jì)
- 企業(yè)銷售管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)課程設(shè)計(jì)
- 醫(yī)藥銷售管理數(shù)據(jù)庫課程設(shè)計(jì)
- 汽車-銷售系統(tǒng)-數(shù)據(jù)庫課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)--手機(jī)銷售管理
- 數(shù)據(jù)庫商品銷售管理系統(tǒng)課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)---醫(yī)藥銷售系統(tǒng)
評(píng)論
0/150
提交評(píng)論