




摘 要:本文結合電子購書系統的現狀和經過實際的需求,設計相應的數據庫表,構建系統數據庫,進行編碼實現和調試。在電子購書系統的需求之上,結合圖書電子購書的現狀完成主要的開發模塊。本系統采用B/S結構模式,應用Vs2008+sql2005進行開發。其中,C#為主要開發語言,數據庫選用SQL2005。根據分析結果,制定了系統總體框架,并詳細列出各管理功能。在此基礎之上建立數據庫,進行編碼實現和調試。最后,對于本系統的安全性進行了測試,結果說明了可行性。
關鍵詞:市場需求;系統數據庫;電子購書
1 引言
近年,隨著網絡世界的蓬勃發展,電子商務已經成為21世紀最熱門的產物,更是帶動了各大企業的發展競爭。淘寶、京東、聚美優品等更是行業中的佼佼,成為了眾多設計與規劃的翹楚。充斥著我們的視野,吸引眾多的眼球。一時間,成為大家茶余飯后的討論對象。網上的書店層出不窮,質量也良莠不齊。人們對網站的要求各不相同,一些網站無法滿足所有的需求,更好的完善人們對電子購書系統需求是很有必要的。網絡安全問題不能被忽視。在互聯網帶給我們遠大利益的時候,一些安全性問題隨之而來。網絡病毒、黑客攻擊、隱私泄露等一系列問題在設計系統的時候也需要被考慮。
本文設計的電子購書系統不但完善了人們對網上電子閱覽購物的需求,而且網絡管理員能夠更方便的管理和發現問題,在一定程度上對于網站的安全性也提高了,使網上購書方便、安全、快捷。
2 系統的設計
本系統主要針對管理員和普通用戶分為:系統管理、權限管理、圖書管理、信息管理以及公共查詢。主要的系統權限如圖1所示。
2.1 系統注冊
如果只是單純的瀏覽網頁,用戶不需要注冊。但是,想購買書籍,需要填寫基本信息,如:姓名、地址、聯系方式等等。下次登錄成功后,就可以直接購書了。
2.2 購物流程模塊
用戶在注冊登錄后,對于需要的圖書加入購物車后提交訂單,進行購買。
2.3 管理員操作模塊
網站管理員有權更改圖書信息、用戶信息、訂單,在網站的正常運行中舉足輕重。
3 系統實現
3.1 用戶界面
只有正確輸入密碼才可以進入用戶界面,購買電子書,是防止非法用戶登錄的第一步。如果是第一次登陸,請先注冊。用戶登錄界面如圖2。
登錄具體實現過程如下:
先判斷輸入用戶名密碼是否為空,當輸入用戶名密碼后通過
if (user.Exist) {
if (user.Password == password) {
Response.Redirect(\"Main.aspx\");
判斷輸入用戶名密碼是否正確, user.Passwor為類user的一個屬性
一旦密碼輸入正確,就可以進入主頁面。系統主界面如圖3
主頁部分代碼如下,首先對用戶進行身份驗證,不同身份的顧客登錄系統會顯示他們的注冊用戶名。
if (CheckUser() == \"guest\")
{
lblWelcome.Text = \"您好,您現在的身份是游客\";
hlRegister.Visible = true;
hlLogin.Visible = true;
btnExit.Visible = 1;
}
else
{
if (CheckUser() == \"Admin\")
{
lblWelcome.Text = Session[\"login_name\"].ToString() + \",您好,歡迎使用網上書店系統\";
hlRegister.Visible = 1;
hlLogin.Visible = 1;
btnExit.Visible = true;
}
else
{
lblWelcome.Text = Session[\"login_name\"].ToString() + \",您好,歡迎使用網上書店系統\";
hlRegister.Visible = 1;
hlLogin.Visible = 1;
btnExit.Visible = true;
}
}
具體身份驗證函數CheckUser()代碼如下
private string CheckUser()
{
if (Session[\"login_name\"].ToString() == \"guest\")
{
return \"guest\";
}
else
{
if (int.Parse(Session[\"login_role\"].ToString()) == 1)
{
return \"Admin\";
}
else
{
return \"User\";
}
}
}
3.2 系統購物車界面
用戶登錄成功后,將需要購買的書本加入購物車,效果如圖4。
具體實現過程如下首先通過cart類的querycart方法查詢出購物車中數據
private void InitData()
{
strUser = Session[\"login_name\"].ToString();
ds = Cart.QueryCart(strUser);
GVDetail.DataSource = ds;
GVDetail.DataBind();
}
QueryCart方法具體查詢代碼過程如下
public static DataSet QueryCart(string username)
{
string sql = \"\";
sql = \"Select [ShoppingCart].[ID],[ShoppingCart].[BookID],[Book].[BookName],[ShoppingCart].[Quatity],[ShoppingCart].[AddDate] from [ShoppingCart],[User],[Book] where [ShoppingCart].[UserID]=[User].[UserID] and [ShoppingCart].[BookID]=[Book].[BookID] and [User].[UserName] = '\"
+ username + \"'\";
Database db = new Database();
return db.GetDataSet(sql);
}
當點擊購買后會將購物車中的信息生成訂單,部分代碼如下:
strSQL = \"select max([ID]) from [OrderItem]\";
dr = db.GetDataRow(strSQL);
if (dr.IsNull(0))
{
iID = 1;
}
else
{
iID = int.Parse(dr[0].ToString()) + 1;
}
iCartID = int.Parse(gdr.Cells[0].Text.ToString());
Cart cart = new Cart();
cart.LoadData(iCartID);
iBook = cart.BookID;
iQty = cart.Quatity;
Hashtable ht = new Hashtable();
ht.Add(\"ID\", iID);
ht.Add(\"OrderID\", iOrderID);
ht.Add(\"BookID\", iBook);
ht.Add(\"Quatity\", iQty);
orderitem.ItemAdd(ht);
}
Response.Redirect(\"OrderAdd.aspx\");
3.3 管理員查看圖書信息界面
4 系統測試
為了更好的保證系統開發,需要在跟蹤故障的基礎上測試,以完善功能的實現。功能性測試主要是驗證業務功能方面的準確性。出錯的用戶提示如下
只有輸入的信息正確,才能進入系統。
5 結論
本文介紹了系統的開發環境,具體各層的實現技術,以及各功能的實現效和相應的部分代碼,并通過截圖和代碼展示說明了可實現性
[參考文獻]
[1]黃忠成.深入剖析ASP.NET組件設計[M].北京:電子工業出版社,2004.
[2]王國勝,柴寶杰,尼春雨.ASP.NET+SQL Server 動態網站開發(含1CD)[M],清華大學出版社m2009,
[3][美]Matthew MacDonald,Mario Szpuszta.ASP.NET 3.5高級程序設計[M].北京:人民郵電出版社,2008.
[4]張躍廷,顧彥玲.ASP.NET從入門到精通[M].北京:清華大學出版社,2008.
[5]屈喜龍,朱杰.ASP+SQL Server開發動態網站實例[M].北京:機械工業出版社,2006.
[6]微軟公司.Visual C# 2005程序設計語言[M].微軟公司,2008.
[7][美]Andrew Troelsen.王少葵,張大磊,等,譯.C#與.NET 3.0高級程序設計[M].北京:人民郵電出版社,2008.
[8]龐婭娟,房大偉,呂雙.ASP.net從入門到精通(第2版)[M].清華大學出版社,2010.
[9]鄭齊心.ASP.NET項目開發案例全程實錄[M].明日科技,清華大學出版社,2011.
作者簡介:董子琦(1990-),女,漢族,江蘇鎮江人,研究方向:智能控制。