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