《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 農(nóng)產(chǎn)品交易系統(tǒng)的研究與設(shè)計(jì)
農(nóng)產(chǎn)品交易系統(tǒng)的研究與設(shè)計(jì)
來源:微型機(jī)與應(yīng)用2011年第4期
王鐘斐
(寶雞文理學(xué)院 數(shù)學(xué)系, 陜西 寶雞 721013)
摘要: 針對傳統(tǒng)農(nóng)產(chǎn)品交易效率低的問題,提出了全新的農(nóng)產(chǎn)品電子交易系統(tǒng)模式。分析了該系統(tǒng)的可使用性,并重點(diǎn)介紹了系統(tǒng)在設(shè)計(jì)過程中所采用的關(guān)鍵技術(shù):利用 Hashtable 和Session實(shí)現(xiàn)購物車、利用ADO.NET訪問數(shù)據(jù)庫技術(shù)。實(shí)例表明,這種新型交易不僅提高了農(nóng)產(chǎn)品交易的效率,而且有利于更好的解決“三農(nóng)”問題。
Abstract:
Key words :

摘  要: 針對傳統(tǒng)農(nóng)產(chǎn)品交易效率低的問題,提出了全新的農(nóng)產(chǎn)品電子交易系統(tǒng)模式。分析了該系統(tǒng)的可使用性,并重點(diǎn)介紹了系統(tǒng)在設(shè)計(jì)過程中所采用的關(guān)鍵技術(shù):利用Hashtable 和Session實(shí)現(xiàn)購物車、利用.NET" title="ADO.NET" target="_blank">ADO.NET訪問數(shù)據(jù)庫技術(shù)。實(shí)例表明,這種新型交易不僅提高了農(nóng)產(chǎn)品交易的效率,而且有利于更好的解決“三農(nóng)”問題。
關(guān)鍵詞: 農(nóng)產(chǎn)品交易; .NET; 哈希表; Session; ADO.NET

    近年來,農(nóng)產(chǎn)品的銷售環(huán)節(jié)成為我國農(nóng)業(yè)發(fā)展的瓶頸,農(nóng)產(chǎn)品的結(jié)構(gòu)性、季節(jié)性、區(qū)域性過剩,是農(nóng)產(chǎn)品市場存在的普遍性問題。農(nóng)村地區(qū)由于交通、通信不夠發(fā)達(dá),難以得到及時(shí)、準(zhǔn)確、可靠的市場需求信息。因此,如何建立高效的農(nóng)產(chǎn)品流通新模式,已成為降低我國農(nóng)產(chǎn)品交易成本和促進(jìn)農(nóng)民增收的重大現(xiàn)實(shí)問題。而電子商務(wù),作為一種以計(jì)算機(jī)網(wǎng)絡(luò)為基礎(chǔ)的商務(wù)信息系統(tǒng),則為解決以上問題提供了成熟完善的技術(shù)條件。電子商務(wù)與傳統(tǒng)產(chǎn)業(yè)的有機(jī)結(jié)合,傳統(tǒng)企業(yè)利用網(wǎng)絡(luò)創(chuàng)造效益,建立一個(gè)農(nóng)產(chǎn)品電子交易系統(tǒng)已屬必然。本文的目的就是為廣大農(nóng)民用戶研究設(shè)計(jì)一個(gè)方便使用、切合實(shí)際、交互性強(qiáng)的農(nóng)產(chǎn)品電子交易系統(tǒng)。
1 .NET概述
    微軟公司2000年正式推出.NET,統(tǒng)一了編程類庫,是其XML Web服務(wù)平臺,提供了對下一代網(wǎng)絡(luò)的通信標(biāo)準(zhǔn),對可擴(kuò)展標(biāo)記語言(XML)的完全支持,使應(yīng)用程序的開發(fā)變得更簡單。引用Microsoft總裁兼首席執(zhí)行官史蒂夫.鮑爾墨的話:“.NET 代表了一個(gè)集合、一個(gè)環(huán)境、一個(gè)編程的基本結(jié)構(gòu),作為一個(gè)平臺來支持下一代的互聯(lián)網(wǎng)”。簡單扼要地表明了.NET的特性: .NET是一個(gè)理想化的未來互聯(lián)網(wǎng)環(huán)境,微軟的構(gòu)想是一個(gè)“不再關(guān)注單個(gè)網(wǎng)站、單個(gè)設(shè)備與因特網(wǎng)相連的互聯(lián)網(wǎng)環(huán)境,而是要讓所有的計(jì)算機(jī)群、相關(guān)設(shè)備和服務(wù)商協(xié)同工作”的網(wǎng)絡(luò)計(jì)算環(huán)境,簡而言之,互聯(lián)網(wǎng)提供的服務(wù),要能夠完成更高程度的自動(dòng)化處理[1]。.NET的最終目的就是讓用戶在任何地方、任何時(shí)間,以及利用任何設(shè)備都能訪問他們所需要的信息,而用戶不需要知道具體細(xì)節(jié),用戶只需發(fā)出請求,而所有后臺的復(fù)雜性是完全屏蔽的。
2 系統(tǒng)的可使用性分析  
    對于農(nóng)產(chǎn)品交易系統(tǒng)而言,影響系統(tǒng)可使用性的主要因素有:可訪問性、訪問效率、內(nèi)容表達(dá)以及內(nèi)容的質(zhì)量等。在農(nóng)產(chǎn)品交易系統(tǒng)的設(shè)計(jì)標(biāo)準(zhǔn)中,可訪問性和效率是兩個(gè)最重要的標(biāo)準(zhǔn)。所以在系統(tǒng)建設(shè)時(shí)應(yīng)考慮如下內(nèi)容:
    (1)好的導(dǎo)航功能。判斷系統(tǒng)的導(dǎo)航模式是否最佳的因素主要有:前后的一致性、前后關(guān)系安排、可訪問性、使用戶很容易適應(yīng)、及時(shí)性等。導(dǎo)航模式有很多種,例如:站點(diǎn)地圖,返回主頁,返回前一頁,瀏覽一個(gè)下拉菜單中的項(xiàng)目等。對于農(nóng)產(chǎn)品交易系統(tǒng)來說,系統(tǒng)的網(wǎng)頁數(shù)目比較多,所以在系統(tǒng)建設(shè)時(shí),應(yīng)該考慮提供站內(nèi)搜索引擎服務(wù),這樣可以方便用戶快捷地在站內(nèi)查找所需的信息。
    (2)信息的分類和顯示。對于本系統(tǒng)而言,信息首先分為十個(gè)大類:水稻專題、小麥專題、棉花專題、玉米專題、蔬菜專題、大豆專題、水果專題、水產(chǎn)專題、農(nóng)藥化肥、苗木花卉,然后根據(jù)這十個(gè)大類又分成了很多小類,比如水果專題分成了:蘋果、葡萄、梨、西瓜、菠蘿、橘子等。例如供應(yīng)信息中“大量供應(yīng)黃金梨”就屬于大類中的“水果專題”,小類中的“梨”。
    (3)頁面下載的速度應(yīng)不超過10 s。如果頁面的加載速度太慢,用戶有可能放棄瀏覽。而頁面內(nèi)容質(zhì)量只有在閱讀以后才能正確評價(jià),否則,網(wǎng)頁的內(nèi)容或者表達(dá)形式就會失去相應(yīng)的意義。
    (4)內(nèi)容的組織結(jié)構(gòu)。對于一個(gè)邏輯化的站點(diǎn)組織,用戶可以預(yù)見在哪個(gè)頁面才能查找到他們所需的信息。系統(tǒng)的內(nèi)容組織結(jié)構(gòu)可以使用以下模式:序列模式(按照次序來組織信息)、層次模式(用樹型的層次結(jié)構(gòu)來組織表達(dá)復(fù)雜的信息)、格子模式(按照格子的形式組織信息)等。本系統(tǒng)采用多種模式相結(jié)合的方式來組織農(nóng)產(chǎn)品的信息,因?yàn)檗r(nóng)產(chǎn)品交易系統(tǒng)的頭部控件對所有用戶都是可見的,而頭部控件包括很多頻繁使用的功能,例如站內(nèi)搜索、首頁、商貿(mào)中心等等,所以用戶無論處于系統(tǒng)中的哪個(gè)頁面,都可以通過系統(tǒng)的頭部控件中的站內(nèi)搜索來查找自己感興趣的農(nóng)產(chǎn)品信息,也可以通過系統(tǒng)的頭文件中的“首頁”來返回系統(tǒng)的主頁面。
3 系統(tǒng)設(shè)計(jì)的關(guān)鍵技術(shù)
    本系統(tǒng)的設(shè)計(jì)目標(biāo)是以B/S體系結(jié)構(gòu)作為基本架構(gòu),創(chuàng)建一個(gè)C to C 模式的電子交易系統(tǒng)。操作系統(tǒng)采用Windows XP, WEB服務(wù)器采用IIS5.1(Internet Information server),用ADO.NET實(shí)現(xiàn)對數(shù)據(jù)庫的存取,用C# 編寫ASP.NET 程序。
3.1購物車
    對于每個(gè)會員,在瀏覽供應(yīng)信息后,如果找到自己滿意的產(chǎn)品,則可點(diǎn)擊信息下方的購物車,進(jìn)入自己的購物車頁面,如圖1所示。購物車可以幫助會員管理訂單、個(gè)人信息和暫存商品,并為會員提供各種自助管理訂單的服務(wù)。

    在購物車頁面中,顯示了會員的級別(普通會員或黃金會員),列出了會員所選擇商品的名稱、數(shù)量、單價(jià)以及總的價(jià)格。會員可以自行管理自己的購物車,例如,可以修改商品、刪除不需要的商品。當(dāng)會員選購了商品放入購物車后,如果會員對該商品未支付,購物車都會將其所選擇的商品一直保存著。
     首先獲取會員的購物車,從Hashtable表中,將指定的商品從購物車中移除,其中,刪除按鈕(lnkbtnDelete)的CommandArgument參數(shù)值為商品ID代號,利用Session語句更新購物車。代碼如下:
    protected void lnkbtnDelete_Command(object sender, CommandEvent-Args e)
        {
            hashCar = (Hashtable)Session["ShopCart"];
            hashCar.Remove(e.CommandArgument);
            Session["ShopCart"] = hashCar;
            Response.Redirect("shopCart.aspx");
        }
      protected void lnkbtnClear_Click(object sender,EventArgs e)
        {
            Session["ShopCart"] =null;
            Response.Redirect("shopCart.aspx");
         }
        protected void gvShopCart_PageIndexChanging(object
sender,GridViewPageEventArgs e)
              {
                gvShopCart.PageIndex = e.NewPageIndex;
                bind();
         }
     當(dāng)會員在產(chǎn)品數(shù)量文本框中輸入所要購買的產(chǎn)品數(shù)量時(shí),激發(fā)Num_TextChanged事件。先獲取購物車,找到用來輸入數(shù)量的TextBox控件,獲得用戶輸入的數(shù)量,得到該商品的ID號,最后更新hashTable表,更新購物車。代碼如下:
  protected void Num_TextChanged(object sender, EventArgs e)
        {
            hashCar = (Hashtable)Session["ShopCart"]; 
           foreach (GridViewRow gvr in this.gvShopCart.Rows)
        {
             TextBox otb = (TextBox)gvr.FindControl("txtNum");
                int count = Int32.Parse(otb.Text);
                string BookID = gvr.Cells[1].Text;
                hashCar[BookID] = count;
        }
            Session["ShopCart"] = hashCar;
            bind();
          }
3.2 利用ADO.NET訪問數(shù)據(jù)庫
    這里以ADO.NET訪問SQL SERVER 數(shù)據(jù)庫(wzf)為例,說明ADO.NET訪問數(shù)據(jù)庫的具體步驟。在Default .aspx頁添加一個(gè)Button控件和一個(gè)GridView控件,分別用于執(zhí)行連接數(shù)據(jù)庫和顯示數(shù)據(jù)。具體代碼如下:
    public partial class _Default : System.Web.UI.Page
    {
          protected void ljbutton_Click(object sender, EventArgs e)
              {
             string ConStr = "server=(local);
             user id=sa;
             pwd=123;
             database=wzf";                      //設(shè)置連接字符串
               SqlConnection  con=new SqlConnection(ConStr);
             con.Open();                          //打開數(shù)據(jù)庫連接
               string Sqlstr="select * from Member";
                                                             //執(zhí)行SQL命令
               SqlDataAdapter ada=new SqlDataAdapter(Sqlstr,con);
               DataSet ca=new DataSet();
               ada.Fill(ca);
          //用DataAdapter對象的執(zhí)行結(jié)果填充DataSet對象的
                                                         數(shù)據(jù)表,命名為ca;
        GridView1.DataSource=ca;
        GridView1.DataBind();                       //數(shù)據(jù)綁定
        con.Close();                        //關(guān)閉數(shù)據(jù)庫連接
        }
       }
    結(jié)果如圖2所示。

    農(nóng)產(chǎn)品網(wǎng)上交易成功案例很多,例如:中國糧油食品信息網(wǎng)2003年網(wǎng)上采購成交470次,交易額達(dá)到5900萬人民幣和6000萬美元。其中PP袋網(wǎng)上采購38次,占交易總比例的30%[2];農(nóng)產(chǎn)品交易系統(tǒng)的建立為廣大用戶提供了及時(shí)、準(zhǔn)確的供求信息,有利于更好的服務(wù)于“三農(nóng)”。
參考文獻(xiàn)
[1] 孫華平. SkyMouse天文服務(wù)搜索整合系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 北京:中國科學(xué)學(xué)院, 2007.
[2] 馮稚進(jìn).云南農(nóng)產(chǎn)品電子商務(wù)發(fā)展研究[D].昆明:昆明理工大學(xué),2007.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。