公司人事管理系統(tǒng),公司,人事管理系統(tǒng)
課 程 設 計
課程設計名稱: 圖書信息管理系統(tǒng)
專 業(yè) 班 級: 網絡系統(tǒng)管理1401班
學 生 姓 名 : 趙聘卿
學 號 : 201430910124
指 導 教 師 : 王雪濤
課程設計時間: 2014-2015-2
網絡系統(tǒng)管理 專業(yè)課程設計任務書
學生姓名
趙聘卿
專業(yè)班級
網管1401
學號
201430910124
題 目
圖書信息管理系統(tǒng)
課題性質
其它
課題來源
自擬
指導教師
王雪濤
同組姓名
主要內容
1、了解圖書信息管理系統(tǒng)的基本原理及用途。
2、了解圖書信息管理的直接操作法,內存法及指針法的各自特點,并掌握指針法的圖像處理編程
3、掌握圖書信息管理系統(tǒng)的基礎處理的C#編程技術
任務要求
1、通過書本查詢和運用Internet,收集和調查有關資料、完善信息。
2、綜合運用和融化所學理論知識,提高分析和解決實際問題的能力,采用Visual Studio + SQL Server服務平臺,C+語言編程來書寫和完善圖書信息;
3、完成需求分析報告,報告中對關鍵部分給出圖表說明。要求格式規(guī)范,工作量飽滿。
參考文獻
1、《Web程序設計—ASP.NET 網站開發(fā)》 陳作聰 王永皎 程鳳娟 清華大學出版社
2、《C#語言程序設計教程》(第二版) 劉甫迎 劉光會 王蓉 電子工業(yè)出版社
審查意見
指導教師簽字:
教研室主任簽字: 年 月 日
說明:本表由指導教師填寫,由教研室主任審核后下達給選題學生,裝訂在設計(論文)首頁
圖書信息管理系統(tǒng)
一 需求分析
圖書館管理系統(tǒng)需要滿足來自三方面的需求:圖書借閱者、圖書館工作人員和圖書館管理人員。
其中幾個重要的功能包括系統(tǒng)登錄模塊,書庫信息管理,讀者信息管理,管理員賬號信息管理,等功能模塊。
登錄模塊是系統(tǒng)的首頁面是對用戶登錄模塊進行管理的功能模塊,用戶輸入帳號和密碼選擇用戶角色登錄成功后根據角色的不同分別進入不同的管理模塊。
讀者管理模塊包括添加讀者信息,修改讀者信息等功能模塊。
修改登錄密碼提供了一個登錄成功的用戶可以修改自己的密碼防止密碼的泄漏,登錄用戶首先要輸入系統(tǒng)原來的密碼,然后輸入新的密碼點擊修改密碼確認后就修改了原來的密碼,下次登錄使用新的密碼進行登錄。
用戶信息管理是對登錄帳號信息進行管理的功能模塊,用戶信息包括登錄帳號,登錄密碼,系統(tǒng)用戶包括系統(tǒng)管理員和圖書管理員2個用戶角色分別對不同的功能模塊進行操作。
二 程序流程圖
圖書信息管理系統(tǒng)
1整體框架圖
系統(tǒng)管理
讀者管理
書庫管理
讀者查看
賬號管理
數據庫管理
管理讀者信息
添加讀者信息
添加圖書信息
查詢圖書信息
查詢信息
修改信息
編號
2數據庫E-R框架圖
管理員信息
登錄賬號
登錄密碼
登錄
登錄
圖書名稱
郵箱
登陸賬號號
圖書信息
用戶信息
借閱次數
圖書類別
登錄密碼
電話
出版處
價格
證件號碼
編號
作者
性別
編號
3 運行環(huán)境
硬件:CPU, 內存, 主板, 硬盤, 顯卡, 鍵盤, 顯示器等等。
操作系統(tǒng):Windows XP
數據庫系統(tǒng):SQL Server 2005
4 開發(fā)工具和編程語言
開發(fā)平臺: Visual Studio 2010
開發(fā)工具: Visual Studio .NET
編程語言: C#
5 數據庫設計
(1)用戶信息表
表1用戶信息表(users)
(2)讀者信息表
表2讀者信息表(reader)
(3)圖書類型信息表
表3圖書類型信息表(bookType)
(4)圖書信息表
表4圖書信息表(books)
(5) 借閱歸還信息表
表5借閱歸還信息表(bookBorrow)
6 asp.net設計
(1) 數據庫的連接
數據庫連接我們采用比較流行的WEB.CONFIG文件進行配置數據庫的連接,這樣可以實現(xiàn)配置一次就可以在整個程序中使用這個數據庫連接。
2)登錄模塊詳細設計
登錄模塊是系統(tǒng)的首頁面是對用戶登錄模塊進行管理的功能模塊,用戶輸入帳號和密碼選擇用戶角色登錄成功后根據角色的不同分別進入不同的管理模塊。
圖三系統(tǒng)登錄的運行效果圖:
管理員登陸關鍵代碼如下:
protected void Image1_ServerClick(object sender, ImageClickEventArgs e)
{
string sqlstr;
sqlstr = "select * from users where userName='" + this.Text1.Value.Trim() + "'";
SqlConnection scon = new SqlConnection(SqlHelper.connstring);
scon.Open();
SqlDataAdapter myDataAdapter = new SqlDataAdapter(sqlstr, scon);
DataSet myDataSet = new DataSet();
myDataAdapter.Fill(myDataSet, "users");
if (myDataSet.Tables[0].Rows.Count > 0)
{
string strPwd = myDataSet.Tables[0].Rows[0]["userPwd"].ToString();
string UserName = myDataSet.Tables[0].Rows[0]["userName"].ToString();
string PowerName = myDataSet.Tables[0].Rows[0]["PowerName"].ToString();
string UserId = myDataSet.Tables[0].Rows[0]["userId"].ToString();
scon.Close();
if (strPwd != Password1.Value.Trim())
{
Alert.AlertAndRedirect("密碼錯誤", "Login.aspx");
}
else
{
Session["Sysuser"] = UserName;
Session["PowerName"] = PowerName;
Session["UserId"] = UserId;
Session["userName"] = UserName;
Response.Redirect("main.aspx?Name=" + UserName + "&Power=" + PowerName);
}
}
else
{
Alert.AlertAndRedirect("賬號或密碼錯誤", "Login.aspx");
scon.Close();
}
}
3) 查詢圖書信息
查詢圖書信息用2個頁面實現(xiàn)查詢功能,首先輸入圖書查詢的條件,然后通過頁面?zhèn)髦蛋巡樵儣l件信息傳值到圖書信息顯示界面,然后在綁定數據庫信息顯示查詢的圖書信息。
圖四圖書查詢的運行效果圖:
關鍵代碼如下:
public void bindBook()
{
string bookBarCode = Request.QueryString["bookBarCode"].ToString();
string bookName = Request.QueryString["bookName"].ToString();
string bookType = Request.QueryString["bookType"].ToString();
string sql = "select * from books where 1=1 ";
if (bookBarCode != "")
{
sql += " and bookBarCode like '%" + bookBarCode + "%' ";
}
if (bookName != "")
{
sql += " and bookName like '%" + bookName + "%' ";
}
if (bookType != "選擇類別")
{
sql += " and bookType like '%" + bookType + "%' ";
}
if (dataOperate.getDataset(sql, "books").Tables[0].Rows.Count == 0)
{
Label1.Text = "沒有符合條件的記錄";
}
else
{
gvBookManage.DataSource = dataOperate.getDataset(sql, "books"); //獲取圖書信息數據源
gvBookManage.DataKeyNames = new string[] { "bookBarCode" }; //設置主鍵字段
gvBookManage.DataBind();
Label1.Text = "";
} }
4)添加圖書信息
添加圖書信息是圖書管理員對圖書信息進行添加的功能模塊。基本的圖書信息包括圖書的編號,圖書的名稱,圖書的出版社,圖書的價格等基本信息。
圖五
添加圖書的運行效果圖:
關鍵代碼如下:
protected void btnSave_Click(object sender, EventArgs e)
{
string bookBarcode = txtBarCode.Text; //獲取圖書條形碼信息
string bookName = txtBookName.Text; //獲取圖書名稱信息
string bookType = ddlBookType.SelectedValue; //獲取圖書類型信息
string bookcase = ddlBookcase.SelectedValue; //獲取書架信息
string author = txtAuthor.Text; //獲取圖書作者信息
string price = txtPrice.Text;
string ds = TextBox1.Text;
//獲取圖書價格信息
string sql = "";
//判斷當前對圖書信息的操作
if (id == "add")
{
sql = "insert into books(bookBarCode,bookName,bookType,bookcase,author,price,ds,publishingId,publishingName,ZongNum,KeJieNum,RuKuTime) values('" + bookBarcode + "','" + bookName + "','" + bookType + "','" + bookcase + "','" +
author + "'," + price + ",'" + ds +
"','"+DropDownList1.SelectedValue+"','"+DropDownList1.SelectedItem.Text+"','"+TextBox2.Text+
"','"+TextBox3.Text+"','"+TextBox4.Text+"')";
}
Else
sql = "update books set bookName='" + bookName + "',bookType='" + bookType + "',bookcase='" + bookcase + "',author='" + author + "',price=" + price + " ,ds='" + ds + "',publishingId='" + DropDownList1.SelectedValue + "',publishingName='" + DropDownList1.SelectedItem.Text + "',ZongNum='" + TextBox2.Text + "',KeJieNum='" + TextBox3.Text + "',RuKuTime='"+TextBox4.Text+"' where bookBarcode='" + bookBarcode + "'";
if (dataOperate.execSQL(sql)) //判斷添加或修改是否成功
{
Response.Write("");
}
else
{
RegisterStartupScript("", "");
}
}
5)添加讀者信息
管理員可以在后臺添加讀者的信息,把讀者信息添加到數據庫中,讀者信息包括讀者的帳號,密碼,讀者編號,讀者的電話等信息。
圖六添加讀者的運行效果圖:
關鍵代碼如下:
protected void btnSave_Click(object sender, EventArgs e)
{
string readerBarCode = txtReaderBarCode.Text;
string readerName = txtReaderName.Text;
string sex = "";
if (radbtnMan.Checked)
{
sex = "男";
}
else
{
sex = "女";
}
string certificateType = ddlCertificateType.SelectedItem.Text;
string certificate = txtCertificate.Text;
string tel = txtTel.Text;
string email = txtEmail.Text;
string remark = txtRemark.Text;
string sql = "";
if (barcode == "add")
{
sql = "insert into reader(readerBarCode,userName,sex,certificateType,certificate,tel,email,remark,userPwd,reade
rType)values('" + readerBarCode + "','" + readerName + "','" + sex + "','" + certificateType + "','" +
certificate + "','" + tel + "','" + email + "','" + remark + "','" + TextBox1.Text + "','" + ddlCertificateType.SelectedItem.Text + "')";
}
else
{
sql = "update reader set userName='" + readerName + "',sex='" + sex + "',certificateType='" + certificateType + "',certificate='" +
certificate + "',tel='" + tel + "',email='" + email + "',remark='" + remark + "' where readerBarCode='" + barcode + "'";
}
if (dataOperate.execSQL(sql))
{
RegisterStartupScript("", "");
}
else
RegisterStartupScript("", "");
}
6)帳號信息管理
系統(tǒng)管理員可以在后臺太添加使用系統(tǒng)的用戶信息就是對帳號的管理,帳號管理包括添加帳號,修改帳號,刪除帳號等功能。
圖七添加帳號的運行效果圖:
關鍵代碼如下:
protected void btnAdd_Click(object sender, EventArgs e)
{
string userName = txtUserName.Text;
string pass = txtPass.Text;
if (id == "add")
{
string sql = "insert into users(userName,userPwd,PowerName)values('" + userName + "','" + pass + "','超級管理員')";
if (dataOperate.execSQL(sql))
{
RegisterStartupScript("", "");
}
else
{
////RegisterStartupScript("", "");
}
}
else
{
string sql = "update users set userName='" + userName + "',userPwd='" + pass + "' where userId=" + id;
if (dataOperate.execSQL(sql))
{
RegisterStartupScript("", "");
}
else
{
////RegisterStartupScript("", "");
}
}
7) 系統(tǒng)對數據庫的增刪改查操作
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
///
/// dataOperate 的摘要說明
///
public class dataOperate
{
static SqlConnection con;
public dataOperate()
{
//
// TODO: 在此處添加構造函數邏輯
//
}
//執(zhí)行數據庫的添加刪除更新操作
public static bool execSQL(string sql)
{
SqlConnection con = createCon();
con.Open();
SqlCommand com = new SqlCommand(sql, con);
try
{
com.ExecuteNonQuery();
con.Close();
}
catch (Exception e)
{
con.Close();
return false;
}
return true;
}
//查找記錄是否存在
public static int seleSQL(string sql)
{
SqlConnection con = createCon();
con.Open();
SqlCommand com = new SqlCommand(sql, con);
try
{
return Convert.ToInt32(com.ExecuteScalar());
con.Close();
}
catch (Exception e)
{
con.Close();
return 0;
}
}
//返回所有記錄
public static DataSet getDataset(string sql, string table)
{
SqlConnection con = createCon();
con.Open();
DataSet ds;
SqlDataAdapter sda = new SqlDataAdapter(sql, con);
ds = new DataSet();
sda.Fill(ds, table);
return ds;
}
//返回一條記錄
public static SqlDataReader getRow(string sql)
{
SqlConnection con = createCon();
con.Open();
SqlCommand com = new SqlCommand(sql, con);
return com.ExecuteReader();
}
public static SqlConnection createCon()
{
con = new SqlConnection(ConfigurationManager.ConnectionStrings["connStr"].ConnectionString);
return con;
}
}
6 調試分析
(1)剛完成時有很多錯誤和警告,運行失敗,然后經過修改錯誤警告慢慢減少,最終可以運行。
(2)在調試過程中對知識點的掌握不牢固,程序中可能還存在各種問題,比如有的時候調試不出來結果,并且我在完成的過程中發(fā)現(xiàn)自己存在細節(jié)上的盲區(qū),有點粗心等,不注意細節(jié)。
(3)字母大小寫忘記區(qū)分,控件的屬性功能不熟悉.
課程設計總結
在課程設計完成之際,我首先要感謝各位老師的悉心指導,他們嚴謹的治學態(tài)度,一絲不茍的敬業(yè)精神給我留下了深刻的印象。感謝他們在百忙之中一直督促關心著我的課程設計。他們的博學、勤勉以及平和的為人,使我油然而生敬意。通過這兩個星期的課設,使我對C#語言的有了更深入、更全面的了解,同時也發(fā)現(xiàn)自己的英文和函數基礎不是很好,對很多地方不是特別懂,甚至對有些概念都還很模糊,但通過這次課程設計,使我對C#語言有了新的認識。
再次感謝周老師給我這個機會加入到數字圖像處理項目中來,使我能夠學習到許多圖像處理學科前沿的知識,而且通過實際項目開發(fā),積累了寶貴的實踐經驗,提高了我用Visual C#編程的能力。
參考文獻
1、《Web程序設計—ASP.NET網站開發(fā)》陳作聰 王永皎 程鳳娟 清華大學出版社
2、《網頁設計制作與上級指導》陳秋江 朱海東 第1版 清華大學出版社
3、《ASP.NET網絡應用程序設計》高怡新 第2版 人民郵電出版社
4、《基于Web的編程技術》范樂 于強 第1版 鐵道電出版社
5、《ASP.NET Web編程實例教程》馬照亭 北京希望電子出版社
6、 肖金秀等.《ASP.NET網絡編程技術》肖金秀 清華大學出版社
19