WEB課程設(shè)計(jì)圖書借閱信息管理系統(tǒng)_第1頁
WEB課程設(shè)計(jì)圖書借閱信息管理系統(tǒng)_第2頁
WEB課程設(shè)計(jì)圖書借閱信息管理系統(tǒng)_第3頁
WEB課程設(shè)計(jì)圖書借閱信息管理系統(tǒng)_第4頁
WEB課程設(shè)計(jì)圖書借閱信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1緒論1.1數(shù)據(jù)庫應(yīng)用系統(tǒng)簡介SQL Server 2005數(shù)據(jù)庫是微軟公司精心打造的企業(yè)級數(shù)據(jù)庫平臺產(chǎn)品,該產(chǎn)品不僅包含了豐富的企業(yè)及數(shù)據(jù)管理功能,還集成了商業(yè)智能等特性。數(shù)據(jù)庫由DBMS(數(shù)據(jù)庫管理系統(tǒng))處理,DBMS則由開發(fā)人員和用戶通過應(yīng)用程序直接或間接地使用。它主要包括四個(gè)要素:用戶數(shù)據(jù)、元數(shù)據(jù)、索引和應(yīng)用元數(shù)據(jù)。1.2 Visual Studio 2008 開發(fā)平臺Visual Studio 是一套完整的開發(fā)工具集,用于生成 ASP.NET Web 應(yīng)用程序、XML Web Services、桌面應(yīng)用程序和移動應(yīng)用程序。Visual Basic、Visual C+、Visual C

2、# 和 Visual J# 全都使用相同的集成開發(fā)環(huán)境 (IDE),利用此 IDE 可以共享工具且有助于創(chuàng)建混合語言解決方案。另外,這些語言利用了 .NET Framework 的功能,通過此框架可使用簡化 ASP Web 應(yīng)用程序和 XML Web Services 開發(fā)的關(guān)鍵技術(shù)。1.3圖書管理系統(tǒng)當(dāng)今時(shí)代是飛速發(fā)展的信息時(shí)代。在各行各業(yè)中離不開信息處理,這正是計(jì)算機(jī)被廣泛應(yīng)用于信息管理系統(tǒng)的環(huán)境。計(jì)算機(jī)的最大好處在于利用它能夠進(jìn)行信息管理。使用計(jì)算機(jī)進(jìn)行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理

3、,現(xiàn)今,有很多的圖書館都是初步開始使用,甚至尚未使用計(jì)算機(jī)進(jìn)行信息管理。根據(jù)調(diào)查得知,他們以前對信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對于圖書借閱情況(如借書天數(shù)、超過限定借書時(shí)間的天數(shù))的統(tǒng)計(jì)和核實(shí)等往往采用對借書卡的人工檢查進(jìn)行,對借閱者的借閱權(quán)限、以及借閱天數(shù)等用人工計(jì)算、手抄進(jìn)行。數(shù)據(jù)信息處理工作量大,容易出錯;由于數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩碚f,缺乏系統(tǒng),規(guī)范的信息管理手段。盡管有的圖書館有計(jì)算機(jī),但是尚未用于信息管理,沒有發(fā)揮它的效力,資源閑置比較突出,這就是管理信息系統(tǒng)的開發(fā)的基本環(huán)境。數(shù)據(jù)處理手工操作,工作量大,出錯率高,出錯后不易更改。圖書館采取手工

4、方式對圖書借閱情況進(jìn)行人工管理,由于信息比較多,圖書借閱信息的管理工作混亂而又復(fù)雜;一般借閱情況是記錄在借書證上,圖書的數(shù)目和內(nèi)容記錄在文件中,圖書館的工作人員和管理員也只是當(dāng)時(shí)對它比較清楚,時(shí)間一長,如再要進(jìn)行查詢,就得在眾多的資料中翻閱、查找了,造成查詢費(fèi)時(shí)、費(fèi)力。如要對很長時(shí)間以前的圖書進(jìn)行更改就更加困難了?;谶@此問題,我認(rèn)為有必要建立一個(gè)圖書管理系統(tǒng),使圖書管理工作規(guī)范化,系統(tǒng)化,程序化,避免圖書管理的隨意性,提高信息處理的速度和準(zhǔn)確性,能夠及時(shí)、準(zhǔn)確、有效的查詢和修改圖書情況。2數(shù)據(jù)庫設(shè)計(jì)2.1 數(shù)據(jù)庫分析本系統(tǒng)利用Visual Studio 2008處理數(shù)據(jù)庫的功能,實(shí)現(xiàn)對圖書館

5、信息的管理。主要功能為管理有關(guān)用戶、管理員、書籍和借閱的信息等。本系統(tǒng)的結(jié)構(gòu)分為用戶信息管理模塊、書籍信息管理模塊、借閱信息管理模塊、管理者管理信息模塊和查詢處理模塊。圖書館管理系統(tǒng)框圖如圖2-1所示成功進(jìn)入圖書館管理系統(tǒng)管理員用戶查詢圖書借閱圖書圖書管理查詢圖書增加圖書修改圖書刪除圖書登錄失敗 圖2-1 圖書館管理系統(tǒng)框圖2.2 E-R模型設(shè)計(jì) 實(shí)體列表實(shí)    體描     述用 戶所有借閱者,查閱者,以及系統(tǒng)管理員,由用戶ID標(biāo)識圖 書圖書館所有圖書,由圖書ID標(biāo)識借    閱圖書ID、借

6、閱ID、借書日期、借閱證號等屬性,由借閱ID標(biāo)識系統(tǒng)的E-R模型該圖書管理系統(tǒng)的E-R模型,如圖2-2所示用戶圖書借閱圖書管理管理員UIDUNameUPwdUBookIDUStateBookIDBookNameBookTypeBookAuthorBookPriceBookPicBookContentBookIssueIssIDBookIDIssBookIDIssDateTimemN1m2-2 系統(tǒng)的E-R模型2.3 設(shè)計(jì)數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫(1)在服務(wù)器資源管理器中的任一節(jié)點(diǎn)右擊。 (2)執(zhí)行快捷菜單中的“新建數(shù)據(jù)庫”命令,并在打開的“創(chuàng)建數(shù)據(jù)庫”對話框中輸入數(shù)據(jù)庫名BookManage,其他可采

7、用默認(rèn)值。 (3)單擊“確定”按鈕,則新建的數(shù)據(jù)庫就會出現(xiàn)在服務(wù)器上。創(chuàng)建數(shù)據(jù)表創(chuàng)建數(shù)據(jù)庫后,為BookManage數(shù)據(jù)庫添加數(shù)據(jù)表,步驟如下。 (1)在服務(wù)器資源管理器中右擊數(shù)據(jù)庫BookManage下的“表”文件夾在彈出的快捷菜單中執(zhí)行“新建表”命令。 (2)添加表的字段和其他詳細(xì)資料。各表數(shù)據(jù)結(jié)構(gòu)如下表所示。 表2-1 用戶信息(userinfo)列  名含 義數(shù)據(jù)類型說明UID用戶IDint自動,主鍵UName用戶名vchar(50)不為空UPwd密碼vchar(50)不為空UState用戶權(quán)限,管理員=1,普通用戶=2int不為空,默認(rèn)值為2UBookID借閱證號bigin

8、t可以為空 表2-2 圖書信息(bookinfo)列  名含 義數(shù)據(jù)類型主  鍵BookID圖書IDbigint自動,主鍵BookName圖書名稱Varchar(50)不為空BookType類別Varchar(100)不為空BookAuthor作者Varchar(100)不為空BookPrice價(jià)格smallmoney不為空BookPic封面Varchar(200)允許為空BookContent內(nèi)容簡介text不為空BookIssue圖書制定訪問碼Varchar(50)不為空  表2-3 借閱信息(issueinfo)列  名含 義數(shù)據(jù)類型說明IssID

9、借閱IDbigint自動,主鍵BookID圖書IDbigint外鍵IssBookID借閱證號bigint不為空IssDateTime借書日期datetime不為空2.4 數(shù)據(jù)庫中表的關(guān)系在數(shù)據(jù)庫中新建BookManage數(shù)據(jù)庫的數(shù)據(jù)庫關(guān)系圖如圖2-4所示圖 2-4 數(shù)據(jù)庫關(guān)系圖3界面設(shè)計(jì)3.1 主界面進(jìn)入Visual Studio 2008,創(chuàng)建一個(gè)新的“Windows應(yīng)用程序”類型的項(xiàng)目,名為“圖書館管理”。將默認(rèn)創(chuàng)建的窗體命名為“圖書館管理系統(tǒng)”,把“圖書館管理系統(tǒng)”作為本系統(tǒng)中的主界面。在窗體中添加一個(gè)菜單(MenuStrip)控件,一個(gè)工具欄(ToolStrip)控件。MenuStri

10、p中的菜單項(xiàng),子菜單項(xiàng)如圖3-1所示圖3-1 主界面3.2 用戶登錄界面本系統(tǒng)的用戶非為普通用戶和管理用戶,管理用戶具有系統(tǒng)提供的所有權(quán)限,普通用戶可以查詢圖書、借閱圖書。在窗體中添加3個(gè)標(biāo)簽(Label)控件,2個(gè)按鈕(Button)控件,1個(gè)組合框(ComboBox)控件,2個(gè)文本框(TextBox)控件。用戶類型分為管理用戶和普通用戶,在組合窗口中添加這兩項(xiàng)。3.3 圖書查詢界面圖書查詢提供組合查詢的方式,界面窗體名稱為“frmSearchBook.cs”,圖書類別組合框中的項(xiàng)是從數(shù)據(jù)庫中獲取的,在設(shè)計(jì)時(shí)不需要添加內(nèi)容。在條件組合框中輸入“or”和“and”,來動態(tài)實(shí)現(xiàn)條件組合。在窗體中

11、添加2個(gè)分組框(GroupBox)控件:搜索條件、搜索結(jié)果,各種控件的添加如圖3-3所示圖3-3 圖書查詢界面在右邊的分組框中添加DataGridView控件,單擊右上角的黑色三角,選擇“在父容器中??俊边x項(xiàng)。3.4 圖書入庫界面管理員有權(quán)限將圖書添加到數(shù)據(jù)庫中,圖書入庫界面的設(shè)計(jì)如圖3-4所示圖3-4 圖書入庫界面在窗體的左邊的分組框中添加標(biāo)簽和文本框,用來接收管理員輸入的圖書信息,以便保存到數(shù)據(jù)庫中。在右邊的分組框中添加DataGridView控件,可以顯示數(shù)據(jù)庫中的圖書信息,新添加的圖書信息也可以顯示出來。3.5 圖書更新界面圖書更新界面用于方便管理員管理圖書信息,實(shí)現(xiàn)圖書信息修改、刪除

12、等操作。界面設(shè)計(jì)如圖3-5所示圖 3-5 圖書更新界面管理員可以在DataGridView控件中直接修改數(shù)據(jù),也可以通過右邊的分組框?qū)崿F(xiàn)圖書信息的修改。3.6 圖書借閱界面根據(jù)圖書館中已有的圖書信息,用戶可以通過圖書證號實(shí)現(xiàn)借閱。界面設(shè)計(jì)如圖3-6所示圖 3-6 圖書借閱界面4通用類的生成本系統(tǒng)的主要操作都需要與數(shù)據(jù)庫發(fā)生交互,為了提高代碼的重用性和規(guī)范性,把與數(shù)據(jù)庫交互的功能單獨(dú)放在一個(gè)類中,在該類中實(shí)現(xiàn)數(shù)據(jù)庫的增加、刪除、修改、查詢等通用功能。連接數(shù)據(jù)庫;(1)定義數(shù)據(jù)庫連接字符串,代碼如下:Private static string ConnectString = "Data

13、Source= (local)sqlexpress;DataBase=BookManage.mdf"(2)創(chuàng)建Connection對象,代碼如下:SqlConnection con = new SqlConnection(ConnectString);(3)打開連接,代碼如下:con.Open();(4)關(guān)閉連接,代碼如下:con.Close();5連接數(shù)據(jù)庫為數(shù)據(jù)庫BookManage和本系統(tǒng)之間建立一個(gè)數(shù)據(jù)連接。(1)在服務(wù)器資源管理器中右擊“數(shù)據(jù)連接”節(jié)點(diǎn)(VS 2008中操作)。在彈出的快捷菜單中執(zhí)行“添加連接”命令,打開Data Link Properties對話框。切換到

14、Provider選項(xiàng)卡,選中列表框中的Microsoft OLE DB Provider for SQL Server項(xiàng)。單擊“下一步”切換到Connection選項(xiàng)卡。(2)在其中的第一個(gè)下拉列表框中選擇數(shù)據(jù)庫所在服務(wù)器名稱。輸入登錄服務(wù)器信息后選擇數(shù)據(jù)庫BookManage,然后單擊測試按鈕。如果測試成功,單擊“確定”按鈕。6系統(tǒng)測試6.1 運(yùn)行主窗口運(yùn)行程序后首先顯示主窗體,如圖6-1所示單擊“登錄”按鈕,就會彈出登錄窗體,管理用戶具有系統(tǒng)提供的所有權(quán)限,普通用戶可以查詢圖書、借閱圖書。圖 6-1 主窗口在登錄對話框中輸入用戶姓名和密碼,單擊“確認(rèn)”按鈕,就會對用戶身份進(jìn)行認(rèn)證,如果認(rèn)證

15、通過,那么就會彈出如圖6.2所示的圖書館管理系統(tǒng)的界面:管理員和普通用戶進(jìn)入此窗體后,系統(tǒng)所提供的操作權(quán)限是不同的6.2 圖書查詢功能圖書查詢可以實(shí)現(xiàn)組合查詢,將查詢結(jié)果顯示在DataGridView控件中。窗體載入時(shí),對圖書類別組合框中的項(xiàng)進(jìn)行了初始化,通過查詢語句“select distinct BookType from bookinfo”,調(diào)用DataAccess類中的GetDataSetBySql方法獲取數(shù)據(jù)庫Bookinfo表中的圖書類別,使用distinct關(guān)鍵字去掉重復(fù)項(xiàng)。使用查詢功能示例如圖6-2所示圖6-2 圖書查詢6.3 圖書更新功能圖書更新分為兩種,第一種通過更改Dat

16、aGridView控件中的數(shù)據(jù)直接更改,第二種可以通過修改各字段值進(jìn)行更改。單擊“保存修改”按鈕,將DataGridView控件中修改的數(shù)據(jù)保存到數(shù)據(jù)庫中。如圖6-3所示圖6-3 圖書更新6.4 圖書入庫功能管理員登錄系統(tǒng)后,可以為數(shù)據(jù)庫添加新的圖書信息。如圖6-4所示如圖6-4 圖書入庫6.5 圖書借閱功能用戶登錄系統(tǒng)后,可以借閱不同的書籍,通過選擇組合框中的書名,該書的圖書訪問代碼和作者將顯示在文本框中。如圖6-5所示圖6-5 圖書借閱7問題分析與解決方法7.1 定義連接數(shù)據(jù)庫字符串的技巧(1) string conString = "provide

17、r=sqloledb.1;data source=.;initial catalog=capucivar;user id=sa;pwd=" (2)private static string ConnectString = "server=(local)sqlexpress;database=Book_Data;user=sa;pwd=1234"(3)Private static string ConnectString = "Data Source= (local)sqlexpress;DataBase=BookManage

18、.mdf"7.2 圖書更新中刪除功能的約束性在圖書館管理員管理圖示信息時(shí),有時(shí)需要不斷地增添新的圖書和刪除舊的圖書信息,但是當(dāng)有一本圖書正在被借閱當(dāng)中,則不能刪除,針對這一問題,該系統(tǒng)應(yīng)該提供有關(guān)對管理員顯示提醒的功能.下面在刪除功能代碼中用C#語句提供相應(yīng)的解法.DataSet ds = DataAccess.GetDataSetBySql("select * from IssueInfo where BookID="+Convert.ToInt32(this.txtbID.Text)+""); if (ds.Tables0.Rows.Cou

19、nt > 0) MessageBox.Show("此書有借閱,不能刪除"); return; 7.3 圖書查詢功能的友好交互性對于一個(gè)藏書量很大的圖書館,一本圖書可能有好幾種版本,即作者不同、出版社不同、價(jià)格不同;或者同一類型的書:如計(jì)算機(jī)類的書有很多本。這時(shí)不同的用戶就需要查詢自己所需的書,在查詢時(shí)就需要同時(shí)根據(jù)多項(xiàng)圖書的信息進(jìn)行關(guān)聯(lián)性的查找,所以在查詢功能這一塊要用相應(yīng)的算法解決這一問題,如下面的代碼所示,已經(jīng)實(shí)現(xiàn)了圖書的關(guān)聯(lián)性查找:private void btnSerch_Click(object sender, EventArgs e) string cbo

20、1 = this.cboOR.Text; string cbo2 = this.cboAnd.Text; string booktype = cboType.Text; string bookname = this.txtName.Text; string bookcontent = this.txtContent.Text; string sql = "select * from bookInfo where BookType='" + booktype + "' " + cbo1 + " BookName like '

21、;%" + bookname + "%' " + cbo2 + " BookContent like '%" + bookcontent + "%'" DataSet Myds = DataAccess.GetDataSetBySql(sql); DataTable table = Myds.Tables0; this.dgvSearchBook.DataSource = table; 圖 7-1 關(guān)聯(lián)查找如圖7-1所示 若要查詢“愛情 情感”類中的“明曉溪”著作的心之萌這本書 就要同時(shí)對圖書類別和圖

22、書名稱這兩個(gè)信息進(jìn)行關(guān)聯(lián)查找:在圖書類別下的組合框中選中“and”,圖書類別中輸入 愛情 情感,圖書名稱中輸入 心之萌。附錄操作數(shù)據(jù)庫中的數(shù)據(jù)實(shí)現(xiàn)代碼using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.SqlClient;namespace BookManage class DataAccess private static string ConnectString = "Data Source =A2

23、0SQLEXPRESS;AttachDbFilename=F:BookManagedataBookManage.mdf;Integrated Security=False"public static DataTable GetDataSetByTableName(string table) using (SqlConnection con = new SqlConnection(ConnectString) string sql = "select * from " + table + "" try SqlDataAdapter adapter

24、 = new SqlDataAdapter(sql, con); DataSet ds = new DataSet(); adapter.Fill(ds, "table"); return ds.Tables0; catch (SqlException ex) throw new Exception(ex.Message); ; public static DataSet GetDataSetBySql(string sql) using (SqlConnection con = new SqlConnection(ConnectString) SqlDataAdapter

25、 adapter = new SqlDataAdapter(sql,con); DataSet ds = new DataSet(); try adapter.Fill(ds); return ds; catch (SqlException ex) throw new Exception(ex.Message) public static SqlDataReader GetDataReaderByID(int id) using (SqlConnection con = new SqlConnection(ConnectString) string sql = "select * f

26、rom bookinfo where bookid=" + id; try SqlCommand comm = new SqlCommand(sql, con); con.Open(); SqlDataReader reader = comm.ExecuteReader(); reader.Read() return reader; catch (SqlException ex) throw new Exception(ex.Message); public static bool UpdateDataTable(string sql) using (SqlConnection co

27、n = new SqlConnection(ConnectString) try con.Open(); SqlCommand comm = new SqlCommand(sql, con);/ if (comm.ExecuteNonQuery() > 0) return true; else return false; catch (SqlException ex) throw new Exception(ex.Message); public static void UpdateDataSet(DataSet ds,string sql) using (SqlConnection c

28、on = new SqlConnection(ConnectString) try SqlDataAdapter adapter = new SqlDataAdapter(sql, con); SqlCommandBuilder builder = new SqlCommandBuilder(adapter); adapter.Update(ds, "table"); catch (SqlException ex) throw new Exception(ex.Message);主窗口實(shí)現(xiàn)代碼using System;using System.Collections.Gen

29、eric;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace BookManage public partial class FrmMain : Form public static DialogResult result; public FrmMain() InitializeComponent(); public bool checkchildfrm(string

30、childfrmname) foreach (Form childFrm in this.MdiChildren) if (childFrm.Name = childfrmname) if(childFrm.WindowState =FormWindowState.Minimized) childFrm.WindowState = FormWindowState.Normal; childFrm.Activate(); return true; return false;private void 用戶登錄ToolStripMenuItem_Click(object sender, EventA

31、rgs e) if (this.checkchildfrm("frmLogin") = true) return; frmLogin user = new frmLogin(); user.ShowDialog(); if (result = DialogResult.OK) this.tsbtnAddBook.Enabled = true; this.mnuUpdateBook.Enabled = true; this.mnuAddBook.Enabled = true; private void tsbtnLogin_Click(object sender, Event

32、Args e) if (this.checkchildfrm("frmLogin") = true) return; frmLogin user = new frmLogin(); user.ShowDialog(); if (result = DialogResult.OK) this.tsbtnAddBook.Enabled = true; this.mnuUpdateBook.Enabled = true; this.mnuAddBook.Enabled = true; private void tsbtnSearch_Click(object sender, Eve

33、ntArgs e) if (this.checkchildfrm("frmSearchBook") = true) return; frmSearchBook book = new frmSearchBook(); book.MdiParent = this; book.Show();private void 圖書檢索ToolStripMenuItem_Click(object sender, EventArgs e) if (this.checkchildfrm("frmSearchBook") = true) return; frmSearchBoo

34、k book = new frmSearchBook(); book.MdiParent = this; book.Show(); private void 圖書入庫ToolStripMenuItem1_Click(object sender, EventArgs e) if (this.checkchildfrm("frmAddBook") = true) return; frmAddBook objbook = new frmAddBook(); objbook.MdiParent= this; objbook.Show(); private void tsbtnAdd

35、Book_Click(object sender, EventArgs e) if (this.checkchildfrm("frmUpdateBook") = true) return; frmUpdateBook objbook = new frmUpdateBook(); objbook.MdiParent = this; objbook.Show(); private void 圖書修改ToolStripMenuItem_Click(object sender, EventArgs e) if (this.checkchildfrm("frmUpdateB

36、ook") = true) return; frmUpdateBook objbook = new frmUpdateBook(); objbook.MdiParent= this; objbook.Show(); private void tsbtnIssue_Click(object sender, EventArgs e) if (this.checkchildfrm("frmIssueBook") = true) return; frmIssueBook issuebook = new frmIssueBook(); issuebook.MdiParent

37、= this; issuebook.Show(); private void tsbtnExit_Click(object sender, EventArgs e) Application.Exit(); private void 退出ToolStripMenuItem1_Click(object sender, EventArgs e) Application.Exit(); private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) Application.Exit(); private void FrmMain_L

38、oad(object sender, EventArgs e) this.tsbtnAddBook.Enabled = false; this.mnuAddBook.Enabled = false; this.mnuUpdateBook.Enabled = false; 圖書查詢實(shí)現(xiàn)代碼using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using S

39、ystem.Windows.Forms;namespace BookManage public partial class frmSearchBook : Form public frmSearchBook() InitializeComponent(); private void btnSerch_Click(object sender, EventArgs e) string cbo1 = this.cboOR.Text; string cbo2 = this.cboAnd.Text; string booktype = cboType.Text; string bookname = th

40、is.txtName.Text; string bookcontent = this.txtContent.Text; string sql = "select * from bookInfo where BookType='" + booktype + "' " + cbo1 + " BookName like '%" + bookname + "%' " + cbo2 + " BookContent like '%" + bookcontent + &

41、quot;%'" DataSet Myds = DataAccess.GetDataSetBySql(sql); DataTable table = Myds.Tables0; this.dgvSearchBook.DataSource = table; private void frmSearchBook_Load(object sender, EventArgs e) DataSet Myds = DataAccess.GetDataSetBySql("select distinct BookType from bookInfo"); DataTabl

42、e table = Myds.Tables0; for (int i = 0; i < table.Rows.Count; i+) this.cboType.Items.Add(table.Rowsi0.ToString().Trim(); cboType.SelectedIndex = 0; this.cboOR.SelectedIndex = 0; this.cboAnd.SelectedIndex = 0; private void btnClose_Click(object sender, EventArgs e) this.Close(); 圖書更新實(shí)現(xiàn)代碼using Syst

43、em;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace BookManage public partial class frmUpdateBook : Form DataSet ds = new DataSet(); public frmUpdat

44、eBook() InitializeComponent(); private void frmUpdateBook_Load(object sender, EventArgs e) string sql = "select * from bookinfo" ds = DataAccess.GetDataSetBySql(sql); this.dgvBookInfo.DataSource=ds.Tables0; this.txtbID.Enabled = false; private void txtbPic_TextChanged(object sender, EventA

45、rgs e) private void btnUpdate_Click(object sender, EventArgs e) string booktype = this.txtbType.Text.ToString(); string bookname = this.txtbName.Text.ToString(); string bookauthor = this.txtAuthor.Text.ToString(); Double bookprice = Convert.ToDouble(this.txtbPrice.Text); string bookpic = this.txtbPi

46、c.Text.ToString(); string bookcontent = this.txtbContent.Text.ToString(); int bookissue = Convert.ToInt32(this.txtIssueID.Text); string sql = string.Format("update bookInfo set BookType='0',BookName='1',BookAuthor='2',BookPrice=3,BookPic='4',BookContent='5

47、9;,BookIssue=6 where BookID=7", booktype, bookname, bookauthor, bookprice, bookpic, bookcontent, bookissue,Convert.ToInt32(this.txtbID.Text); if (DataAccess.UpdateDataTable(sql) MessageBox.Show("更新成功", "提示", MessageBoxButtons.OK); else MessageBox.Show("更新失敗", "

48、;提示", MessageBoxButtons.OK); private void btnSave_Click(object sender, EventArgs e) string sql = "select * from BookInfo" DialogResult result = MessageBox.Show("確實(shí)要將修改保存到數(shù)據(jù)庫嗎?", "操作提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (result = DialogResult.OK) DataAccess.UpdateDataSet(ds, sql); MessageBox.Show("保存成功"); this.dgvBookInfo.DataSource = D

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論