分布式網(wǎng)吧銷售系統(tǒng)_第1頁
分布式網(wǎng)吧銷售系統(tǒng)_第2頁
分布式網(wǎng)吧銷售系統(tǒng)_第3頁
分布式網(wǎng)吧銷售系統(tǒng)_第4頁
分布式網(wǎng)吧銷售系統(tǒng)_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 畢業(yè)設(shè)計(論文)題 目 分布式網(wǎng)吧商品銷售系統(tǒng) 專 業(yè) 計算機應用 班 級 計算機1班 學 號 姓 名 指導教師 2011年 1 月 8 日 畢業(yè)設(shè)計任務書學生姓名 專業(yè)班級08計算機1班聯(lián)系方式 指導老師 指導老師職稱講師聯(lián)系方式 課題名稱課題任務要求一、設(shè)計的技術(shù)要求(或論文的主要內(nèi)容):系統(tǒng)由客戶端與服務器端組成;客戶端:選擇商品,訂購商品,購物車服務器端;接收信息,遞送商品后完成交易,交易信息存入數(shù)據(jù)庫;完成客戶端與服務器端的信息連通性,保證同時多臺機器連接服務器端不出錯二、實施操作的技能要求:1.使用Microsoft Visual Studio 2005作為開發(fā)工具, 數(shù)據(jù)庫采用

2、sql2000。2.使用工具開發(fā),達到無錯誤運行。3.適應本課題,達到實用性第一。4其它三、時間安排與要求:階段一:11月5日-1月19日確定課題,完成畢業(yè)設(shè)計階段二:1月19日-11月26日完成開題報告階段三:11月26日-12月17日 完成課題的設(shè)計工作階段四:12月17日-12月31日完成論文初稿階段五:12月31日-1月13日完成論文并上交階段六:2月21日-3月4日參加畢業(yè)答辯教研室審批意見 教研室主任(簽字) 年 月 日系部審批意見 分管系主任(簽字) 年 月 日指導教師(簽字) 年 月 日分布式網(wǎng)吧銷售系統(tǒng)【摘要】 隨著網(wǎng)絡(luò)的發(fā)展和普及,上網(wǎng)已經(jīng)成為人們?nèi)粘I钪斜夭豢缮俚男蓍e活

3、動,而網(wǎng)吧也隨之而產(chǎn)生。網(wǎng)吧給人們提供了一個開放而舒適的上網(wǎng)環(huán)境,人們可以長時間的呆在網(wǎng)吧里面聊天,沖浪,打游戲,學習。精神食糧是有了,可是物質(zhì)食糧卻極度缺乏,饑腸轆轆又怎么能安心上網(wǎng)呢?而目前大多數(shù)網(wǎng)吧只提供一些礦泉水,并不能解決顧客這方面的問題。倘若網(wǎng)吧在提供上網(wǎng)的同時可以有一些食品和飲料銷售的話,不僅可以讓顧客上的安心,玩的開心,還可以增加數(shù)量可觀的額外收入,同時舒適而貼心的上網(wǎng)環(huán)境又可以吸引更多的顧客,真是一舉兩得。分布式網(wǎng)吧商品銷售系統(tǒng)就是為了配合這一市場需求而開發(fā)的軟件,簡單易用體貼用戶是本系統(tǒng)的主要特點。上網(wǎng)的顧客只需點一下懸浮在桌面上的按鈕就可以挑選自己需要的商品,發(fā)出請求后服

4、務器即可收到信息,把商品送到,絕對方便快捷。本項目使用Microsoft Visual Studio 2005平臺開發(fā)。Sql 2000作為數(shù)據(jù)庫開發(fā)工具,采用C# C/S系統(tǒng),使用socket局域網(wǎng)通信代碼。 【關(guān)鍵詞】分布式 網(wǎng)吧商品銷售 客戶端 服務器 C/S Distribution Internet cafes Sales System 【Abstract】 With the development and popularization of the Internet has become indispensable in daily life of leisure activiti

5、es, and Internet cafes also will be generated. Cafes to provide people with access to the Internet an open and comfortable environment, people can stay a long time inside the cafe to chat, surf, play games, learn. Food for thought is there, but the food is extremely lacking substance, hungry, how it

6、 can surf the Internet safely? At present the majority of Internet cafes provide only mineral water, and can not solve this problem customers. If the cafes in the provision of Internet access at the same time can have some food and beverage sales, not only would allow the customer the peace of mind,

7、 have fun, but also can increase the number of significant additional revenue, while comfortable and intimate environment for the Internet to attract more Customers really do both. Cafe merchandise sales system is distributed with the market demand for the development of software, easy to use and co

8、nsiderate users are the main features of the system. Customers can simply tap the Internet suspended in the desktop button to select the goods they need, you can request information received after the server, the goods are delivered absolutely convenient. The project uses Microsoft Visual Studio 200

9、5 platform. Sql 2000 as a database development tool, C # C / S system, the use of local area network socket communication code.【Keywords】 Distributed client-server Internet cafes merchandising C / S目 錄引 言1第一章 開發(fā)環(huán)境21.1 開發(fā)運行環(huán)境21.1.1 c# 開發(fā)21.1.2 C/S結(jié)構(gòu)21.1.3 SQL 200031.1.4 socket3第二章 系統(tǒng)結(jié)構(gòu)及需求分析42.1 系統(tǒng)需求分

10、析42.2 系統(tǒng)構(gòu)架圖42.3主要功能及數(shù)據(jù)庫設(shè)計4第三章 系統(tǒng)設(shè)計頁面及功能73.1 客戶端設(shè)計實現(xiàn)73.1.1 客戶端登陸73.1.2 客戶端登陸實現(xiàn)73.1.3客戶端主界面73.1.4 客戶端主界面功能實現(xiàn)93.2 服務器端界面及功能實現(xiàn)113.2.1 服務器登陸113.2.2 服務器登陸功能實現(xiàn)123.2.3 服務器主界面123.2.4 服務器主界面接收偵聽信息功能實現(xiàn)133.2.5 交易操作143.2.6 交易查詢153.2.7 商品信息管理163.2.8 管理員管理183.2.9 幫助及關(guān)于19第四章 系統(tǒng)備份204.1 系統(tǒng)備份204.2 系統(tǒng)備份功能實現(xiàn)204.2.1 系統(tǒng)備份

11、功能界面20第五章 調(diào)試與維護215.1 軟件調(diào)試215.1.1 軟件調(diào)試基礎(chǔ)215.1.2 軟件調(diào)試215.2 軟件維護215.2.1 軟件維護215.2.2 數(shù)據(jù)庫維護21結(jié) 論22致 謝23參考文獻24附 錄25引 言現(xiàn)在的網(wǎng)吧已經(jīng)進入“毛利潤”時期,還是想靠每小時的上網(wǎng)費是不夠的,增值利潤已經(jīng)成為網(wǎng)吧不可缺少的收入,這就需要在網(wǎng)吧銷售商品來獲取利潤。用一句比較時髦的話來說,是開始做多元化經(jīng)營。多元化經(jīng)營原本是企業(yè)運營的一種戰(zhàn)略選擇,拿到網(wǎng)吧來講,就是為了方便上網(wǎng)顧客,為其提供點卡、充值、飲料、食品等方面的服務。網(wǎng)吧給人們提供了一個開放而舒適的上網(wǎng)環(huán)境,人們可以長時間的呆在網(wǎng)吧里面聊天,

12、沖浪,打游戲,學習。精神食糧是有了,可是物質(zhì)食糧卻極度缺乏,饑腸轆轆又怎么能安心上網(wǎng)呢?而目前大多數(shù)網(wǎng)吧只提供一些礦泉水,并不能解決顧客這方面的問題。倘若網(wǎng)吧在提供上網(wǎng)的同時可以有一些食品和飲料銷售的話,不僅可以讓顧客上的安心,玩的開心,還可以增加數(shù)量可觀的額外收入,同時舒適而貼心的上網(wǎng)環(huán)境又可以吸引更多的顧客,真是一舉兩得。分布式網(wǎng)吧商品銷售系統(tǒng)就是為了配合這一市場需求而開發(fā)的軟件,簡單易用體貼用戶是本系統(tǒng)的主要特點。上網(wǎng)的顧客只需點一下懸浮在桌面上的按鈕就可以挑選自己需要的商品,發(fā)出請求后服務器即可收到信息,把商品送到,絕對方便快捷。第一章 開發(fā)環(huán)境1.1 開發(fā)運行環(huán)境方案所采用Micro

13、soft Visual Studio 2005 c# 開發(fā)工具進行開發(fā),開發(fā)C/S結(jié)構(gòu)的系統(tǒng),使用socket局域網(wǎng)通信技術(shù) Server sql 2000數(shù)據(jù)庫,版本8.00.2039(升級可以打SQL SP4補丁),系統(tǒng)環(huán)境Microsoft Windows XP Professional Service Pack 3。1.1.1 c# 開發(fā)簡介C sharp(又被簡稱為C#)是微軟公司在2000年六月發(fā)布的一種新的編程語言,并定于在微軟職業(yè)開發(fā)者論壇(PDC)上登臺亮相.C#是微軟公司研究員Anders Hejlsberg的最新成果.C#看起來與Java有著驚人的相似;它包括了諸如單一繼

14、承,界面,與Java幾乎同樣的語法,和編譯成中間代碼再運行的過程.但是C#與Java有著明顯的不同,它借鑒了Delphi的一個特點,與COM(組件對象模型)是直接集成的,而且它是微軟公司.NET windows網(wǎng)絡(luò)框架的主角。 在本文中,我將考察創(chuàng)建一種新計算機語言的一般動機,并將特別指明是什么原因?qū)е铝薈#的出現(xiàn).然后我將介紹C#和它與Java,c,c+的相似之處.其次我將討論一些存在于Java和C#之間的高層次的,和基礎(chǔ)的差別.我將以衡量在用多種語言開發(fā)大型應用程序的時候所需的知識(或者對這種知識的缺乏程度)來結(jié)束本文,而這正是.NET和C#的一個主要戰(zhàn)略.目前,C#和.NET還只能以C#

15、語言規(guī)則,以及Windows 2000的一個d預覽版本,還有MSDN上迅速增多的文檔集子的形式獲得(還沒有最終定型)。1.1.2 C/S結(jié)構(gòu)在網(wǎng)絡(luò)連接模式中,除對等網(wǎng)外,還有另一種形式的網(wǎng)絡(luò),即客戶機/服務器網(wǎng),Client/Server。在客戶機/服務器網(wǎng)絡(luò)中,服務器是網(wǎng)絡(luò)的核心,而客戶機是網(wǎng)絡(luò)的基礎(chǔ),客戶機依靠服務器獲得所需要的網(wǎng)絡(luò)資源,而服務器為客戶機提供網(wǎng)絡(luò)必須的資源。 這里客戶和服務器都是指通信中所涉及的兩個應用進程(軟件)。使用計算機的人是計算機的“用戶”(user)而不是“客戶”(client)。但在許多國外文獻中,也經(jīng)常把運行客戶程序的機器稱為client(這種情況下也可把cl

16、ient譯為“客戶機”),把運行服務器程序的機器稱為server。所以有時要根據(jù)上下文判斷client與server是指軟件還是硬件。 它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務合理分配到 Client端和Server端來實現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應用軟件系統(tǒng)都是Client/Server形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應用系統(tǒng)正在向分布式的Web應用發(fā)展,Web和Client/Server 應用都可以進行同樣的業(yè)務處理,應用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問新的和現(xiàn)有的應用系統(tǒng),通過現(xiàn)有應用系統(tǒng)中的邏輯可以擴展出新的應用系統(tǒng)。這也就是

17、目前應用系統(tǒng)的發(fā)展方向。應用服務器運行數(shù)據(jù)負荷較輕。最簡單的C/S體系結(jié)構(gòu)的數(shù)據(jù)庫應用由兩部分組成,即客戶應用程序和數(shù)據(jù)庫服務器程序。二者可分別稱為前臺程序與后臺程序。運行數(shù)據(jù)庫服務器程序的機器,也稱為應用服務器。一旦服務器程序被啟動,就隨時等待響應客戶程序發(fā)來的請求;客戶應用程序運行在用戶自己的電腦上,對應于數(shù)據(jù)庫服務器,可稱為客戶電腦,當需要對數(shù)據(jù)庫中的數(shù)據(jù)進行任何操作時,客戶程序就自動地尋找服務器程序,并向其發(fā)出請求,服務器程序根據(jù)預定的規(guī)則作出應答,送回結(jié)果,應用服務器運行數(shù)據(jù)負荷較輕。數(shù)據(jù)的儲存管理功能較為透明。在數(shù)據(jù)庫應用中,數(shù)據(jù)的儲存管理功能,是由服務器程序和客戶應用程序分別獨立

18、進行的,前臺應用可以違反的規(guī)則,并且通常把那些不同的(不管是已知還是未知的)運行數(shù)據(jù),在服務器程序中不集中實現(xiàn),例如訪問者的權(quán)限,編號可以重復、必須有客戶才能建立定單這樣的規(guī)則。所有這些,對于工作在前臺程序上的最終用戶,是“透明”的,他們無須過問(通常也無法干涉)背后的過程,就可以完成自己的一切工作。在客戶服務器架構(gòu)的應用中,前臺程序不是非?!笆菪 ?,麻煩的事情都交給了服務器和網(wǎng)絡(luò)。在C/S體系的下,數(shù)據(jù)庫不能真正成為公共、專業(yè)化的倉庫,它受到獨立的專門管理。1.1.3 SQL 2000SQL Server是微軟公司開發(fā)的數(shù)據(jù)庫產(chǎn)品,SQL Server 2000被廣泛使用,很多電子商務網(wǎng)站、

19、企業(yè)內(nèi)部信息化平臺等都是基于SQL Server產(chǎn)品上。 今天的商業(yè)環(huán)境要求不同類型的數(shù)據(jù)庫解決方案。性能、可伸縮性及可靠性是基本要求,而進入市場時間也非常關(guān)鍵。除這些核心企業(yè)品質(zhì)外,SQL Server 2000 還為您的數(shù)據(jù)管理與分析帶來了靈活性,允許單位在快速變化的環(huán)境中從容響應,。SQL Server 2000 為快速開發(fā)新一代企業(yè)級商業(yè)應用程序、為企業(yè)贏得核心競爭優(yōu)勢打開了勝利之門。SQL Server 2000 提供了以 Web 標準為基礎(chǔ)的擴展數(shù)據(jù)庫編程功能。豐富的 XML 和 Internet 標準支持允許您使用內(nèi)置的存儲過程以 XML 格式輕松存儲和檢索數(shù)據(jù)。您還可以使用 X

20、ML 更新程序容易地插入、更新和刪除數(shù)據(jù)。通過 Web 輕松訪問數(shù)據(jù)。有了 SQL Server 2000,您可以使用 HTTP 來向數(shù)據(jù)庫發(fā)送查詢、對數(shù)據(jù)庫中存儲的文檔執(zhí)行全文搜索、以及通過 Web 進行自然語言查詢。強大而靈活的基于 Web 的分析。SQL Server 2000 分析服務功能被擴展到了 Internet。您可以通過 Web 瀏覽器來訪問和控制多維數(shù)據(jù)。高度的可伸縮性和可靠性。使用 SQL Server 2000 可以獲得非凡的可伸縮性和可靠性。通過向上伸縮和向外擴展的能力,SQL Server 滿足了苛刻的電子商務和企業(yè)應用程序要求。1.1.4 socketSocket

21、接口是訪問 Internet 使用的最廣泛的方法。 如果你有一臺剛配好TCP/IP協(xié)議的主機,其IP地址是01, 此時在另一臺主機或同一臺主機上執(zhí)行ftp 01,顯然無法建立連接。因01 這臺主機沒有運行FTP服務軟件。同樣, 在另一臺或同一臺主機上運行瀏覽軟件 如Netscape,輸入01,也無法建立連接?,F(xiàn)在,如果在這臺主機上運行一個FTP服務軟件(該軟件將打開一個Socket, 并將其綁定到21端口),再在這臺主機上運行一個Web 服務軟件(該軟件將打開另一個Socket,

22、并將其綁定到80端口)。這樣,在另一臺主機或同一臺主機上執(zhí)行ftp 01,F(xiàn)TP客戶軟件將通過21端口來呼叫主機上由FTP 服務軟件提供的Socket,與其建立連接并對話。而在netscape中輸入01時,將通過80端口來呼叫主機上由Web服務軟件提供的Socket,與其建 立連接并對話。第二章 系統(tǒng)結(jié)構(gòu)及需求分析2.1 系統(tǒng)需求分析本系統(tǒng)有一個較好的展示平臺,不僅對網(wǎng)吧各類商品進行了分類,并且每一件商品都有相應的圖片和較為詳細的介紹,方便客戶了解各類商品信息和價格。如果客戶有意購買我們的商品,可以通過系統(tǒng)發(fā)送信息購買。當服務器端

23、接收到信息后由網(wǎng)管遞送商品并收現(xiàn)金結(jié)賬。2.2 系統(tǒng)構(gòu)架圖本系統(tǒng)分為客戶端和服務器端客戶端可以查看商品信息選擇商品,加入購物車,購買商品;服務器端可以添加刪除商品,查看商品,紀錄銷售紀錄分布式網(wǎng)吧銷售系統(tǒng)客戶端服務器端商品信息管理管理員信息管理銷售清單管理商品類別管理商品信息查看加入購物車購買圖2-1 系統(tǒng)構(gòu)架圖2.3主要功能及數(shù)據(jù)庫設(shè)計本系統(tǒng)主要功能:客戶端:點擊左面圖標打開客戶系統(tǒng),瀏覽商品,選擇商品,加入購物車,點擊購買。服務器端:管理員登陸;添加商品分類,選著分類,添加商品信息??蛻魴C發(fā)出信息后,信息浮動提示,由網(wǎng)管遞送商品,收取現(xiàn)金后,返回服務器端結(jié)算,銷售記錄紀錄進入數(shù)據(jù)庫,供查看

24、;管理員表管理員表用來存儲管理員信息,用作服務器端登陸;添加修改刪除商品信息,管理服務器端數(shù)據(jù);表2-1 admin字段名稱字段類型字段大小是否為空說明adminid自動編號長整型否編號adminnamevarchar50否賬號adminpassvarchar20否密碼adminxm文本50否管理員姓名商品信息表:商品信息表用來存儲商品信息,表2-2 goods字段名稱字段類型字段大小是否為空說明goodsid自動編號長整型否編號goodsnamevarchar50否商品名稱goodspricedouble否商品價格goodspicvarchar50否商品圖片goodsintrvarchar5

25、0是備注goodsinumint4否商品庫存購物車表:購物車表用來存儲添加進購物車的商品表2-3 shop_car字段名稱字段類型字段大小是否為空說明Sh_id自動編號長整型否編號Sh_namevarchar50否商品名稱Sh_pricedouble否商品價格Sh_picvarchar50否商品圖片Sh_numint4否商品數(shù)量商品類別表:商品類別表用來分類商品類別,方便顧客分類查看商品表2-4 goods_lb字段名稱字段類型字段大小是否為空說明id自動編號長整型否編號Lb_namevarchar50否類別名稱銷售總表:銷售總表用來存儲銷售過的商品數(shù)量價錢信息表2-5 sell字段名稱字段類

26、型字段大小是否為空說明S_id自動編號長整型否銷售單號S_goodspricedouble否商品總價格S_goodsnumint4否商品總數(shù)量S_timedatatime否商品銷售時間S_peoplevarchar20否經(jīng)手人S_jiezangint4否是否結(jié)賬銷售明細表:銷售明細表用來存儲銷售過的商品詳細信息表2-6 sell_list字段名稱字段類型字段大小是否為空說明Sel_id自動編號長整型否編號listidint4否銷售單號Sel_goodsnamevarchar50否商品名稱Sel_goodspricedouble否商品價格Sel_goodsnumint50否商品數(shù)量第三章 系統(tǒng)設(shè)

27、計頁面及功能3.1 客戶端設(shè)計實現(xiàn)3.1.1 客戶端登陸客戶端是該系統(tǒng)直接展示給網(wǎng)吧上網(wǎng)用戶的界面,首先當用戶打開客戶端是,會跳出一個類似登陸界面的的界面。如圖3-1圖3-1 客戶端登陸在第一個文本框輸入網(wǎng)吧服務器IP地址,一般默認的會寫在文本框中,端口默認為8000,這2項數(shù)據(jù)都是需要在客戶端與服務器端通信時使用的。3.1.2 客戶端登陸實現(xiàn)當用戶點擊連接按鈕以后,系統(tǒng)會將IP地址和端口號發(fā)送到客戶端主頁面中去實現(xiàn)代碼 Form1 f = new Form1(); f.ipx = textBox1.Text; f.portx =int.Parse(textBox2.Text.ToString

28、(); f.Show(); this.Hide(); 3.1.3客戶端主界面客戶端主界面可以查看商品或者根據(jù)類別查看所需要的商品,根據(jù)名字模糊搜索商品,顯示在商品列表中,當進入客戶端主界面的時候,程序會將之前該機器名字留下的購物車信息未發(fā)送的信息刪除。如圖3-2圖3-2 客戶端界面當用戶在界面左上角的列表框選擇類別后,商品表就會顯示該類別下的商品。如圖 3-3圖 3-3 商品表 用戶也可以在文本框中輸入商品名字在查找單件商品商品表就會顯示該商品。如圖 3-4圖 3-4 商品表 在商品列表中選擇商品,會在列表下的文本框中顯示商品名稱,然后輸入商品數(shù)量,點擊加入購物車,就會在右邊的購物車列表中顯示

29、已經(jīng)訂購的商品。如圖3-5.3-6.如圖3-5 選擇商品加入購物車如圖3-6 選擇商品加入購物車當選擇好購買的商品后,在下方下拉框中選擇要支付的金額或者自己輸入金額,點擊確定按鈕發(fā)送,或者當用戶不想要的時候點擊取消購物,刪除訂購信息。3.1.4 客戶端主界面功能實現(xiàn) private delegate void setTextbox(string s); private delegate void removelist(Socket s); private setTextbox setbox;Socket s = new Socket(AddressFamily.InterNetwork, So

30、cketType.Stream, ProtocolType.Tcp);/定義一個socket s/發(fā)送到服務器代碼try SqlParameter paras2 = new SqlParameter1; paras20 = new SqlParameter(hname, SqlDbType.VarChar, 50); paras20.Value = System.Net.Dns.GetHostName(); DataSet ds2 = SqlHelper.ExecuteDataset(Data Source= + ipx + ;Initial Catalog=ebar;Persist Secu

31、rity Info=false;User ID=sa;Password=;, CommandType.StoredProcedure, dbo.sel_car1, paras2); SqlParameter paras3 = new SqlParameter1; paras30 = new SqlParameter(hname, SqlDbType.VarChar, 50); paras30.Value = System.Net.Dns.GetHostName(); DataSet ds3 = SqlHelper.ExecuteDataset(Data Source= + ipx + ;Ini

32、tial Catalog=ebar;Persist Security Info=false;User ID=sa;Password=;, CommandType.StoredProcedure, dbo.sum_car, paras3); string text=主機名稱: +System.Net.Dns.GetHostName ( )+rn; for (int i = 0; i ds2.Tables0.Rows.Count; i+) text += ds2.Tables0.Rowsi0.ToString() +數(shù)量:+ds2.Tables0.Rowsi2.ToString()+rn; tex

33、t += 總價格: + ds3.Tables0.Rows00.ToString()+ +支付面額: +comboBox1.Text; date = Encoding.UTF8.GetBytes(text); s.BeginSend(date, 0, date.Length, SocketFlags.None, new AsyncCallback(check), s); MessageBox.Show(購買成功,請耐心等待); catch (Exception ex) MessageBox.Show(服務器已關(guān)閉); private void check(IAsyncResult iar) So

34、cket OtherSocket = (Socket)iar.AsyncState; int Len = OtherSocket.EndSend(iar); if (Len = date.Length) this.Invoke(setbox, new object 服務器發(fā)送: + Encoding.UTF8.GetString(date) ); else this.Invoke(setbox, new object Encoding.UTF8.GetString(date) + 發(fā)送失??! ); try SqlParameter paras1 = new SqlParameter1; par

35、as10 = new SqlParameter(goodsname, SqlDbType.VarChar, 20); paras10.Value = tBoxgoodsname.Text; DataSet ds1 = SqlHelper.ExecuteDataset(Data Source= + ipx + ;Initial Catalog=ebar;Persist Security Info=false;User ID=sa;Password=;, CommandType.StoredProcedure, dbo.sel_goodnum, paras1); int a, b; a = int

36、.Parse(tBoxnum.Text.ToString().Trim(); b = int.Parse(ds1.Tables0.Rows05.ToString(); if (a b) SqlParameter paras = new SqlParameter5; paras0 = new SqlParameter(name, SqlDbType.VarChar, 20); paras0.Value = ds1.Tables0.Rows01.ToString(); paras1 = new SqlParameter(price, SqlDbType.Decimal); paras1.Value

37、 = ds1.Tables0.Rows02; paras2 = new SqlParameter(pic, SqlDbType.VarChar, 50); paras2.Value = ds1.Tables0.Rows03.ToString(); paras3 = new SqlParameter(num, SqlDbType.Int); paras3.Value = int.Parse(tBoxnum.Text.ToString().Trim(); paras4 = new SqlParameter(hname, SqlDbType.VarChar, 50); paras4.Value =

38、System.Net.Dns.GetHostName(); DataSet ds = SqlHelper.ExecuteDataset(Data Source= + ipx + ;Initial Catalog=ebar;Persist Security Info=false;User ID=sa;Password=;, CommandType.StoredProcedure, dbo.ins_car, paras); bindcar(); else MessageBox.Show(對不起,您購買的數(shù)量超出庫存); catch(Exception ex) MessageBox.Show(請輸入

39、購買數(shù)量); /上面代碼用于判斷購買商品數(shù)量是否超出庫存量,超出就無法加入購物車。3.2 服務器端界面及功能實現(xiàn)3.2.1 服務器登陸服務器登陸。用于給網(wǎng)吧管理員登陸服務器端,管理商品,交易管理,查看報表。在文本框中輸入用戶名,密碼。點擊登陸,登陸后查找該賬號人名字并傳送值,如圖3-7圖 3-7 登陸界面3.2.2 服務器登陸功能實現(xiàn)SqlParameter paras = new SqlParameter1; paras0 = new SqlParameter(name, SqlDbType.VarChar, 20); paras0.Value = textBox1.Text; DataSe

40、t ds = SqlHelper.ExecuteDataset(Data Source=.;Initial Catalog=ebar;Persist Security Info=false;User ID=sa;Password=;, CommandType.StoredProcedure, dbo.sel_admin, paras); if (ds.Tables0.Rows.Count = 0) MessageBox.Show(登陸失敗,用戶名不正確); else if (textBox2.Text = ds.Tables0.Rows02.ToString() MessageBox.Show

41、(登錄成功!); Form1 f1 = new Form1(); f1.admin = ds.Tables0.Rows03.ToString() ; f1.Show(); this.Hide(); else MessageBox.Show(密碼錯誤); 3.2.3 服務器主界面服務器主界面是網(wǎng)吧管理員可以查看哪臺客戶端發(fā)送購物信息過來,并且可以查看該用戶購物信息,進行交易操作,亦可在主菜單上選擇希望的按鈕來進行商品管理,交易信息查詢,管理員管理等。當客戶端訂購完商品,并且點擊發(fā)送后,服務器端的文本框中就顯示用戶購買的商品,數(shù)量,及價格,并且顯示購買人的IP地址和主機名稱。界面中的列表框則是顯示

42、當前網(wǎng)吧用戶打開并連接主機的用戶IP和連接端口號。當管理員登陸后,點擊右上角的啟動按鈕,即可啟動服務端,隨時接收客戶端發(fā)送的請求,并進行交易操作。如圖3-8圖3-8 服務器主界面3.2.4 服務器主界面接收偵聽信息功能實現(xiàn)部分代碼如下:private void Accept(IAsyncResult iar) Socket socket = (Socket)iar.AsyncState; Socket NewSocket = socket.EndAccept(iar); System.Diagnostics.Debug.WriteLine(NewSocket.RemoteEndPoint.To

43、String() + + DateTime.Now.ToString(); this.Invoke(SetListview, new object (IPEndPoint)NewSocket.RemoteEndPoint).Address.ToString(), (IPEndPoint)NewSocket.RemoteEndPoint).Port.ToString() ); m_list.Add(NewSocket); socket.BeginAccept(new AsyncCallback(Accept), socket); /if (tsmiAuto.Checked) try NewSoc

44、ket.BeginReceive(RevDate, 0, 1024, SocketFlags.None, new AsyncCallback(Receive), NewSocket); /date = Encoding.Default.GetBytes(Hello World!); /NewSocket.BeginSend(date, 0, date.Length, SocketFlags.None, new AsyncCallback(Send), NewSocket); catch (Exception ex) System.Diagnostics.Debug.WriteLine(ex.M

45、essage); m_list.Remove(NewSocket); this.Invoke(remove, new object NewSocket ); /接收函數(shù)private void Receive(IAsyncResult iar) Socket OtherSocket = (Socket)iar.AsyncState; Socket newsocket = d; try int Len = OtherSocket.EndSend(iar); if (Len = 0) m_list.Remove(OtherSocket); this.Invoke(remove, new objec

46、t OtherSocket ); return; this.Invoke(setbox, new object 服務器收到( + OtherSocket.RemoteEndPoint.ToString() + ): + Encoding.UTF8.GetString(RevDate, 0, Len) ); /date = new byteLen; /Buffer.BlockCopy(RevDate, 0, date, 0, Len); /newsocket.BeginSend(RevDate, 0, date.Length, SocketFlags.None, new AsyncCallbac

47、k(Send), newsocket); /RevDate = new byte1024; Array.Clear(RevDate, 0, Len); OtherSocket.BeginReceive(RevDate, 0, 1024, SocketFlags.None, new AsyncCallback(Receive), OtherSocket); catch (Exception ex) m_list.Remove(OtherSocket); this.Invoke(remove, new object OtherSocket ); 由于之前完全沒有接觸過C/S構(gòu)架的系統(tǒng)設(shè)計制作,在網(wǎng)上找 了很多資料后才能稍微做出點類似的代碼。3.2.5 交易操作主界面最小化后隱藏到任務欄,當服務器收到客戶端發(fā)來的信息后,主界面彈出,并且在文本框中顯示用戶的需求,價格,管理員點擊菜單欄的交易操作或者界面上

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論