摘 要: 針對(duì)傳統(tǒng)農(nóng)產(chǎn)品交易效率低的問(wèn)題,提出了全新的農(nóng)產(chǎn)品電子交易系統(tǒng)模式。分析了該系統(tǒng)的可使用性,并重點(diǎn)介紹了系統(tǒng)在設(shè)計(jì)過(guò)程中所采用的關(guān)鍵技術(shù):利用Hashtable 和Session實(shí)現(xiàn)購(gòu)物車(chē)、利用.NET" title="ADO.NET" target="_blank">ADO.NET訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)技術(shù)。實(shí)例表明,這種新型交易不僅提高了農(nóng)產(chǎn)品交易的效率,而且有利于更好的解決“三農(nóng)”問(wèn)題。
關(guān)鍵詞: 農(nóng)產(chǎn)品交易; .NET; 哈希表; Session; ADO.NET
近年來(lái),農(nóng)產(chǎn)品的銷(xiāo)售環(huán)節(jié)成為我國(guó)農(nóng)業(yè)發(fā)展的瓶頸,農(nóng)產(chǎn)品的結(jié)構(gòu)性、季節(jié)性、區(qū)域性過(guò)剩,是農(nóng)產(chǎn)品市場(chǎng)存在的普遍性問(wèn)題。農(nóng)村地區(qū)由于交通、通信不夠發(fā)達(dá),難以得到及時(shí)、準(zhǔn)確、可靠的市場(chǎng)需求信息。因此,如何建立高效的農(nóng)產(chǎn)品流通新模式,已成為降低我國(guó)農(nóng)產(chǎn)品交易成本和促進(jìn)農(nóng)民增收的重大現(xiàn)實(shí)問(wèn)題。而電子商務(wù),作為一種以計(jì)算機(jī)網(wǎng)絡(luò)為基礎(chǔ)的商務(wù)信息系統(tǒng),則為解決以上問(wèn)題提供了成熟完善的技術(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)民用戶(hù)研究設(shè)計(jì)一個(gè)方便使用、切合實(shí)際、交互性強(qiáng)的農(nóng)產(chǎn)品電子交易系統(tǒng)。
1 .NET概述
微軟公司2000年正式推出.NET,統(tǒng)一了編程類(lèi)庫(kù),是其XML Web服務(wù)平臺(tái),提供了對(duì)下一代網(wǎng)絡(luò)的通信標(biāo)準(zhǔn),對(duì)可擴(kuò)展標(biāo)記語(yǔ)言(XML)的完全支持,使應(yīng)用程序的開(kāi)發(fā)變得更簡(jiǎn)單。引用Microsoft總裁兼首席執(zhí)行官史蒂夫.鮑爾墨的話(huà):“.NET 代表了一個(gè)集合、一個(gè)環(huán)境、一個(gè)編程的基本結(jié)構(gòu),作為一個(gè)平臺(tái)來(lái)支持下一代的互聯(lián)網(wǎng)”。簡(jiǎn)單扼要地表明了.NET的特性: .NET是一個(gè)理想化的未來(lái)互聯(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)境,簡(jiǎn)而言之,互聯(lián)網(wǎng)提供的服務(wù),要能夠完成更高程度的自動(dòng)化處理[1]。.NET的最終目的就是讓用戶(hù)在任何地方、任何時(shí)間,以及利用任何設(shè)備都能訪(fǎng)問(wèn)他們所需要的信息,而用戶(hù)不需要知道具體細(xì)節(jié),用戶(hù)只需發(fā)出請(qǐng)求,而所有后臺(tái)的復(fù)雜性是完全屏蔽的。
2 系統(tǒng)的可使用性分析
對(duì)于農(nóng)產(chǎn)品交易系統(tǒng)而言,影響系統(tǒng)可使用性的主要因素有:可訪(fǎng)問(wèn)性、訪(fǎng)問(wèn)效率、內(nèi)容表達(dá)以及內(nèi)容的質(zhì)量等。在農(nóng)產(chǎn)品交易系統(tǒng)的設(shè)計(jì)標(biāo)準(zhǔn)中,可訪(fǎng)問(wèn)性和效率是兩個(gè)最重要的標(biāo)準(zhǔn)。所以在系統(tǒng)建設(shè)時(shí)應(yīng)考慮如下內(nèi)容:
(1)好的導(dǎo)航功能。判斷系統(tǒng)的導(dǎo)航模式是否最佳的因素主要有:前后的一致性、前后關(guān)系安排、可訪(fǎng)問(wèn)性、使用戶(hù)很容易適應(yīng)、及時(shí)性等。導(dǎo)航模式有很多種,例如:站點(diǎn)地圖,返回主頁(yè),返回前一頁(yè),瀏覽一個(gè)下拉菜單中的項(xiàng)目等。對(duì)于農(nóng)產(chǎn)品交易系統(tǒng)來(lái)說(shuō),系統(tǒng)的網(wǎng)頁(yè)數(shù)目比較多,所以在系統(tǒng)建設(shè)時(shí),應(yīng)該考慮提供站內(nèi)搜索引擎服務(wù),這樣可以方便用戶(hù)快捷地在站內(nèi)查找所需的信息。
(2)信息的分類(lèi)和顯示。對(duì)于本系統(tǒng)而言,信息首先分為十個(gè)大類(lèi):水稻專(zhuān)題、小麥專(zhuān)題、棉花專(zhuān)題、玉米專(zhuān)題、蔬菜專(zhuān)題、大豆專(zhuān)題、水果專(zhuān)題、水產(chǎn)專(zhuān)題、農(nóng)藥化肥、苗木花卉,然后根據(jù)這十個(gè)大類(lèi)又分成了很多小類(lèi),比如水果專(zhuān)題分成了:蘋(píng)果、葡萄、梨、西瓜、菠蘿、橘子等。例如供應(yīng)信息中“大量供應(yīng)黃金梨”就屬于大類(lèi)中的“水果專(zhuān)題”,小類(lèi)中的“梨”。
(3)頁(yè)面下載的速度應(yīng)不超過(guò)10 s。如果頁(yè)面的加載速度太慢,用戶(hù)有可能放棄瀏覽。而頁(yè)面內(nèi)容質(zhì)量只有在閱讀以后才能正確評(píng)價(jià),否則,網(wǎng)頁(yè)的內(nèi)容或者表達(dá)形式就會(huì)失去相應(yīng)的意義。
(4)內(nèi)容的組織結(jié)構(gòu)。對(duì)于一個(gè)邏輯化的站點(diǎn)組織,用戶(hù)可以預(yù)見(jiàn)在哪個(gè)頁(yè)面才能查找到他們所需的信息。系統(tǒng)的內(nèi)容組織結(jié)構(gòu)可以使用以下模式:序列模式(按照次序來(lái)組織信息)、層次模式(用樹(shù)型的層次結(jié)構(gòu)來(lái)組織表達(dá)復(fù)雜的信息)、格子模式(按照格子的形式組織信息)等。本系統(tǒng)采用多種模式相結(jié)合的方式來(lái)組織農(nóng)產(chǎn)品的信息,因?yàn)檗r(nóng)產(chǎn)品交易系統(tǒng)的頭部控件對(duì)所有用戶(hù)都是可見(jiàn)的,而頭部控件包括很多頻繁使用的功能,例如站內(nèi)搜索、首頁(yè)、商貿(mào)中心等等,所以用戶(hù)無(wú)論處于系統(tǒng)中的哪個(gè)頁(yè)面,都可以通過(guò)系統(tǒng)的頭部控件中的站內(nèi)搜索來(lái)查找自己感興趣的農(nóng)產(chǎn)品信息,也可以通過(guò)系統(tǒng)的頭文件中的“首頁(yè)”來(lái)返回系統(tǒng)的主頁(yè)面。
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)對(duì)數(shù)據(jù)庫(kù)的存取,用C# 編寫(xiě)ASP.NET 程序。
3.1購(gòu)物車(chē)
對(duì)于每個(gè)會(huì)員,在瀏覽供應(yīng)信息后,如果找到自己滿(mǎn)意的產(chǎn)品,則可點(diǎn)擊信息下方的購(gòu)物車(chē),進(jìn)入自己的購(gòu)物車(chē)頁(yè)面,如圖1所示。購(gòu)物車(chē)可以幫助會(huì)員管理訂單、個(gè)人信息和暫存商品,并為會(huì)員提供各種自助管理訂單的服務(wù)。
在購(gòu)物車(chē)頁(yè)面中,顯示了會(huì)員的級(jí)別(普通會(huì)員或黃金會(huì)員),列出了會(huì)員所選擇商品的名稱(chēng)、數(shù)量、單價(jià)以及總的價(jià)格。會(huì)員可以自行管理自己的購(gòu)物車(chē),例如,可以修改商品、刪除不需要的商品。當(dāng)會(huì)員選購(gòu)了商品放入購(gòu)物車(chē)后,如果會(huì)員對(duì)該商品未支付,購(gòu)物車(chē)都會(huì)將其所選擇的商品一直保存著。
首先獲取會(huì)員的購(gòu)物車(chē),從Hashtable表中,將指定的商品從購(gòu)物車(chē)中移除,其中,刪除按鈕(lnkbtnDelete)的CommandArgument參數(shù)值為商品ID代號(hào),利用Session語(yǔ)句更新購(gòu)物車(chē)。代碼如下:
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)會(huì)員在產(chǎn)品數(shù)量文本框中輸入所要購(gòu)買(mǎi)的產(chǎn)品數(shù)量時(shí),激發(fā)Num_TextChanged事件。先獲取購(gòu)物車(chē),找到用來(lái)輸入數(shù)量的TextBox控件,獲得用戶(hù)輸入的數(shù)量,得到該商品的ID號(hào),最后更新hashTable表,更新購(gòu)物車(chē)。代碼如下:
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訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)
這里以ADO.NET訪(fǎng)問(wèn)SQL SERVER 數(shù)據(jù)庫(kù)(wzf)為例,說(shuō)明ADO.NET訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的具體步驟。在Default .aspx頁(yè)添加一個(gè)Button控件和一個(gè)GridView控件,分別用于執(zhí)行連接數(shù)據(jù)庫(kù)和顯示數(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(); //打開(kāi)數(shù)據(jù)庫(kù)連接
string Sqlstr="select * from Member";
//執(zhí)行SQL命令
SqlDataAdapter ada=new SqlDataAdapter(Sqlstr,con);
DataSet ca=new DataSet();
ada.Fill(ca);
//用DataAdapter對(duì)象的執(zhí)行結(jié)果填充DataSet對(duì)象的
數(shù)據(jù)表,命名為ca;
GridView1.DataSource=ca;
GridView1.DataBind(); //數(shù)據(jù)綁定
con.Close(); //關(guān)閉數(shù)據(jù)庫(kù)連接
}
}
結(jié)果如圖2所示。
農(nóng)產(chǎn)品網(wǎng)上交易成功案例很多,例如:中國(guó)糧油食品信息網(wǎng)2003年網(wǎng)上采購(gòu)成交470次,交易額達(dá)到5900萬(wàn)人民幣和6000萬(wàn)美元。其中PP袋網(wǎng)上采購(gòu)38次,占交易總比例的30%[2];農(nóng)產(chǎn)品交易系統(tǒng)的建立為廣大用戶(hù)提供了及時(shí)、準(zhǔn)確的供求信息,有利于更好的服務(wù)于“三農(nóng)”。
參考文獻(xiàn)
[1] 孫華平. SkyMouse天文服務(wù)搜索整合系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 北京:中國(guó)科學(xué)學(xué)院, 2007.
[2] 馮稚進(jìn).云南農(nóng)產(chǎn)品電子商務(wù)發(fā)展研究[D].昆明:昆明理工大學(xué),2007.