亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Hashtable簡(jiǎn)易購(gòu)物車(chē)的實(shí)現(xiàn)

        2016-08-11 00:40:49
        關(guān)鍵詞:集合

        馮 菁

        (淮北職業(yè)技術(shù)學(xué)院 計(jì)算機(jī)科學(xué)技術(shù)系,安徽 淮北 235000)

        ?

        基于Hashtable簡(jiǎn)易購(gòu)物車(chē)的實(shí)現(xiàn)

        馮菁

        (淮北職業(yè)技術(shù)學(xué)院 計(jì)算機(jī)科學(xué)技術(shù)系,安徽 淮北235000)

        摘要:.NET FrameWork 提供了眾多類(lèi)庫(kù),其中Hashtable集合維護(hù)很多對(duì)Key-Value鍵值對(duì),對(duì)于集合中任一元素的查找、定位,都是基于找到對(duì)應(yīng)的Key和Value值,應(yīng)用在處理動(dòng)態(tài)添加、刪除數(shù)據(jù)時(shí)很方便。以電子商務(wù)購(gòu)物車(chē)為例,使用ASP.NET技術(shù)、語(yǔ)言VB.NET和Hashtable類(lèi)的方法、屬性、遍歷等來(lái)實(shí)現(xiàn)一簡(jiǎn)易購(gòu)物車(chē)。

        關(guān)鍵詞:HashTable;ASP.NET;集合

        購(gòu)物車(chē)是電子商務(wù)網(wǎng)站的重要功能之一,功能大致有將商品添加進(jìn)購(gòu)物車(chē),顯示購(gòu)物車(chē),刪除修改所選商品,修改數(shù)量,計(jì)算總價(jià)等.這些功能操作可以采用數(shù)據(jù)讀取、修改的案例。本例選擇.NET提供的解決方案,ASP.NET提供了WEB編程新技術(shù),并支持多種語(yǔ)言,配套有功能強(qiáng)大的集成開(kāi)發(fā)環(huán)境Visual Studio.Net,本文案例用的是VB.NET語(yǔ)言。開(kāi)發(fā)一個(gè)成功的購(gòu)物車(chē)系統(tǒng),對(duì)于今后開(kāi)發(fā)同類(lèi)項(xiàng)目非常有益。

        一、HashTable集合類(lèi)型

        ASP.NET是當(dāng)前流行的WEB程序開(kāi)發(fā)技術(shù)之一,是建立在通用語(yǔ)言上的程序構(gòu)架,適用于多種開(kāi)發(fā)語(yǔ)言,能被用于建立強(qiáng)大的WEB應(yīng)用程序.編程語(yǔ)言可支持Visual C#,VC++,Visual Basic.Net,Jscript.Net。

        集合是把一群可變長(zhǎng)的對(duì)象類(lèi)型的元素組合在一起,它們的數(shù)據(jù)緊密相關(guān),能夠安全有效地處理這些緊密相關(guān)的數(shù)據(jù)。這些類(lèi)在System.Collections命名空間。[1]

        .NET work提供一種Hashtable集合類(lèi)型。Hashtable也是System.Collections命名空間提供的一個(gè)容器。每個(gè)元素通過(guò)一個(gè)鍵(Key)和一個(gè)值(Value)來(lái)組織的。其中key區(qū)分大小寫(xiě),可用來(lái)快速查找;Value用于存儲(chǔ)對(duì)應(yīng)于Key的值。Hashtable中Key/Value鍵值對(duì)均為object類(lèi)型,所以Hashtable可以支持任何類(lèi)型的Key/Value鍵值對(duì)。[2]

        定義哈希表Dim Hash as Hashtable

        Hashtable的主要屬性有:

        1.Hash.Count:獲取Hashtable中的鍵/值對(duì)的數(shù)目。

        2.Hash.Item:獲取或設(shè)置與指定的鍵相關(guān)聯(lián)的值。

        3.Hash.Keys:獲取Hashtable中的鍵。

        4.Hash.Values:獲取Hashtable中的值。

        Hashtable的主要方法有:

        1.Add(Object key,Object value):將指定鍵/值添加到Hashtable中。

        2.Clear():從Hashtable中移除所有元素。

        3.Contains(Object key):確定Hashtable是否包含特定鍵。

        4.Remove(Object key):從Hashtable中移除帶有指定鍵的元素。[1]

        Hashtable集合類(lèi)似于數(shù)組,又不像數(shù)組可以用索引訪問(wèn),即不可以用下標(biāo)訪問(wèn)某一元素。Hashtable通過(guò)關(guān)鍵字來(lái)訪問(wèn)元素,來(lái)刪除元素.它的遍歷使用foreach語(yǔ)句。

        使用hashtable類(lèi)必須引入該命名空間,C#語(yǔ)言:using system.collections;

        VB.NET語(yǔ)言:Imports System.Collections

        二、購(gòu)物車(chē)功能演示

        在開(kāi)發(fā)Web應(yīng)用程序中, B2C電子商務(wù)網(wǎng)上購(gòu)物車(chē)這一功能很普及,因此購(gòu)物車(chē)程序的編寫(xiě)就顯得非常重要。購(gòu)物車(chē)的技術(shù)核心功能有添加商品、修改商品、刪除商品、檢查購(gòu)物車(chē)、確認(rèn)定單等。本文只演示查看購(gòu)物車(chē)商品,計(jì)算總價(jià)代碼。這是一個(gè)最簡(jiǎn)易的購(gòu)物車(chē),完成的功能也簡(jiǎn)單,大家可在此基礎(chǔ)上根據(jù)需要繼續(xù)擴(kuò)充其它功能。

        例如某企業(yè)網(wǎng)站中的在線定購(gòu)模塊,一個(gè)B/S結(jié)構(gòu)的B-C電子商城系統(tǒng)購(gòu)物車(chē)子系統(tǒng)的用例圖如圖1所示。

        圖1 購(gòu)物車(chē)子系統(tǒng)的用例圖

        每個(gè)子用例對(duì)應(yīng)著添加商品,刪除商品,確認(rèn)下單等。

        三、購(gòu)物車(chē)HashTable代碼編寫(xiě)

        購(gòu)物車(chē)的版本,一是目前流行的個(gè)性化服務(wù)界面(如淘寶購(gòu)物),支持匿名用戶;二是使用數(shù)據(jù)庫(kù),但是程序編寫(xiě)量大,難支持匿名用戶;三是登錄結(jié)合ASP內(nèi)置對(duì)象sessin使用。我們只考慮最簡(jiǎn)單實(shí)現(xiàn)購(gòu)物功能。

        在購(gòu)物的時(shí)候會(huì)多次對(duì)各類(lèi)商品進(jìn)行挑選,增刪改的方式頻繁。每次購(gòu)物都要進(jìn)行數(shù)據(jù)庫(kù)操作,會(huì)增加服務(wù)器的負(fù)擔(dān),如果將選擇的物品信息存在客戶端,在最后下單的時(shí)候統(tǒng)一存儲(chǔ)數(shù)據(jù),建議使用HashTable來(lái)實(shí)現(xiàn)物品的增刪操作,利用Session或者Cookie保存已選的物品,這樣會(huì)減少與服務(wù)器的通信,節(jié)省數(shù)據(jù)庫(kù)的讀寫(xiě)操作,提高了效率。

        以下是部分代碼,其中數(shù)據(jù)庫(kù)連接對(duì)象Conn、數(shù)據(jù)庫(kù)中表的命名,字段命名等命名都是沿用多數(shù)人的習(xí)慣命名的。如shop指數(shù)據(jù)庫(kù)名稱,shopprice指商品單價(jià), shopnum指商品數(shù)量等。

        1.使用hashtable類(lèi)引入命名空間。

        Imports System.Collections

        2.連接數(shù)據(jù)庫(kù)shop,使用數(shù)據(jù)庫(kù)中的表。

        Dim Provider=”P(pán)rovider=Microsoft.jet.OLEDB.4.0”

        Dim Database=”Data Source=” & Server.MapPath(“shop.mdb”)

        3.查看購(gòu)物車(chē)商品,初始化購(gòu)物車(chē)。

        If Hash.Count=0 Then Msg.Text=”現(xiàn)在購(gòu)物車(chē)是空的!”

        ……

        Dim ArrKey(Hash.Count-1) As String

        DimArrVal(Hash.Count-1) As Integer

        Dim Products As String

        Hash.Keys.CopyTo(ArrKey,0)

        Hash.Values.CopyTo(ArrVal,0)

        Products=”(‘” &Join(ArrKey,”’,’”)&”’)”

        ……

        Conn=New OleDbConnection(Provider & “;”&Database)

        ……

        4.讀出哈希表數(shù)據(jù),賦值DataSet實(shí)例,并添加新數(shù)據(jù)列。

        Dim X As String

        For Each X in Hash.Keys

        Table1.Rows.Find(X).Item(“shopnum”)=Hash.Item(X)

        Next

        Table1.Columns.Add(“allprice”,GetType(Long),”shopprice*shopnum”))

        ……

        遍歷一個(gè)哈希表Hashtable,只能用for each語(yǔ)句進(jìn)行遍歷。統(tǒng)計(jì)商品數(shù)目并計(jì)算總價(jià)。Hashtable中的元素是一個(gè)鍵值對(duì)的集合,不能夠使用索引訪問(wèn)。

        四、總結(jié)

        ASP.NET是Microsoft公司推出用于編寫(xiě)動(dòng)態(tài)網(wǎng)頁(yè)的強(qiáng)大新技術(shù),支持以可視化的方式建立企業(yè)級(jí)網(wǎng)站,可生成安全穩(wěn)定的應(yīng)用程序。.NET框架中提供了功能多而強(qiáng)大的類(lèi)庫(kù)進(jìn)行編程,如本文簡(jiǎn)述的Hashtable類(lèi),并可使用VB.NET、C#、Jscript.NET等編程語(yǔ)言來(lái)開(kāi)發(fā)。本文中代碼完全可以用C#或其它編程語(yǔ)言進(jìn)行改寫(xiě)。

        電子商務(wù)網(wǎng)站普及到老百姓的日常生活、網(wǎng)上商店、書(shū)店、訂餐、售票,等等,這些都需要WEB站點(diǎn)開(kāi)發(fā),并設(shè)有網(wǎng)上購(gòu)物這一功能模塊,所以購(gòu)物車(chē)程序的編寫(xiě)就顯得非常重要??稍诖速?gòu)物車(chē)基礎(chǔ)上開(kāi)發(fā)更安全,質(zhì)量更高,更有效,功能更完善的購(gòu)物系統(tǒng)。

        參考文獻(xiàn):

        [1]楊樹(shù)林,胡潔萍.ASP.NET程序設(shè)計(jì)案例教程[M].北京:人民郵電出版社,2012:62-64.

        [2]朱印宏.Asp.NET2.0基礎(chǔ)與實(shí)例教程:基于VB.C#[M].北京:中國(guó)電力出版社,2007:421-422.

        [3]王少鋒.面向?qū)ο蠹夹g(shù)UML教程[M].北京:清華大學(xué)出版社,2008.

        [4]王有禮.ASP.NET2.0完全開(kāi)發(fā)指南[M].北京:北京科海電子出版社,2008.

        責(zé)任編輯:凈草

        收稿日期:2016-05-26

        基金項(xiàng)目:本文系安徽省自然科學(xué)基金項(xiàng)目“基于數(shù)據(jù)挖掘技術(shù)的商砼企業(yè)ERP的開(kāi)發(fā)與成本控制應(yīng)用研究”(編號(hào):KJ2013Z289) 階段性研究成果。

        作者簡(jiǎn)介:馮菁(1974-),女,上海人,高級(jí)工程師,碩士,研究方向?yàn)閿?shù)據(jù)挖掘。

        中圖分類(lèi)號(hào):TP311

        文獻(xiàn)標(biāo)識(shí)碼:A

        文章編號(hào):1671-8275(2016)04-0129-02

        猜你喜歡
        集合
        論述高中數(shù)學(xué)中集合的類(lèi)型及基本運(yùn)算
        一道數(shù)學(xué)填空題引發(fā)對(duì)細(xì)節(jié)的思考
        考試周刊(2016年50期)2016-07-12 17:04:11
        解讀《集合》
        考試周刊(2016年26期)2016-05-26 20:26:20
        国产午夜精品美女裸身视频69| 女同中文字幕在线观看| 日本视频一区二区这里只有精品| 91精品人妻一区二区三区水蜜桃| 中文字幕亚洲乱码熟女1区| 偷拍激情视频一区二区三区| 国产美女露脸口爆吞精| 日本久久久久| 久久婷婷国产色一区二区三区| 蜜桃视频第一区免费观看| 亚洲熟妇丰满多毛xxxx| 人妻暴雨中被强制侵犯在线| 亚洲视频在线看| 国产高清一级毛片在线看| 日本一区二区三级免费| 国产a在亚洲线播放| 欧美丰满熟妇乱xxxxx图片| 亚洲加勒比无码一区二区在线播放| 久草视频在线播放免费| 偷拍一区二区视频播放器| 成人免费毛片aaaaaa片| 色综合久久加勒比高清88| 亚洲区福利视频免费看| 亚洲一区二区三区中文字幕网| 欧美成人看片一区二区三区尤物| 免费看泡妞视频app| 91天堂素人精品系列全集亚洲| 中文熟女av一区二区| 中文字幕人妻在线少妇| 亚洲av午夜福利精品一区二区| 婷婷四房播播| 亚洲二区三区四区太九| 在线观看国产视频午夜| 人妻夜夜爽天天爽| 久久91综合国产91久久精品| 一区二区视频网站在线观看| 东北老熟女被弄的嗷嗷叫高潮| 乱码1乱码2美美哒| 最近高清中文在线字幕观看| 日本熟女人妻一区二区三区| 国产精华液一区二区三区|