合作版本圖書管理系統(tǒng)_第1頁
合作版本圖書管理系統(tǒng)_第2頁
合作版本圖書管理系統(tǒng)_第3頁
合作版本圖書管理系統(tǒng)_第4頁
合作版本圖書管理系統(tǒng)_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、目錄一緒論01.1 課題背景及現(xiàn)狀01.2 開發(fā)工具介紹0二需求分析0三概要設計1四邏輯設計4五詳細設計6六小結34一緒論1.1課題背景及現(xiàn)狀圖書館管理系統(tǒng)是典型的信息管理系統(tǒng),具開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端的應用程序的開發(fā)兩個方面。對于前者要求建立數(shù)據(jù)的一致性和完整性,對于后者則要求應用程序功能的完備,易用等的特點。該圖書管理系統(tǒng)是一款多功能的圖書管理類工具,可以快速、準確、詳細地查詢書籍和讀者,以及出版社信息,及受歡迎程度等。開發(fā)化境:VC+6.0。1.2開發(fā)工具介紹數(shù)據(jù)庫的建立基于Access數(shù)據(jù)庫開發(fā)的,前臺應用程序基于vc(有相應的數(shù)據(jù)庫訪問組件)。二需求分析立足于校園

2、實際,建成符合標準化協(xié)議、通用性較強、實用的系統(tǒng),以提高圖書信息的現(xiàn)代化管理水平,實現(xiàn)信息資源的共享。圖書管理系統(tǒng)是一種基于集中統(tǒng)一規(guī)劃的數(shù)據(jù)庫數(shù)據(jù)管理新模式。在對圖書、讀者、出版社信息的管理,其實是對圖書、讀者數(shù)據(jù)出版社信息的管理。本系統(tǒng)的建成無疑會為管理者對圖書管理系統(tǒng)提供極大的幫助。使用該系統(tǒng)之后,圖書館管理人員可以管理讀者的登記、圖書的購入、借出、歸還以及注銷、圖書歸還中的問題;還可以查詢某位讀者、某本圖書的借閱情況,對當前借閱情況給出一些統(tǒng)計,給出統(tǒng)計表格,以全面掌握圖書的流通情況,還可以根據(jù)圖書類別查詢圖書,可以查詢出版社的信息,以及某出版社的圖書在本校的借閱情況和平均價錢等信息。

3、圖書管理系統(tǒng),最主要處理兩個過程,借書與還書。借書之前先看看是不是有借書的資格。還書時,檢查一下書是否過期等如有進行相關的處理。其他的一些功能主要是圍繞這兩個功能展開。系統(tǒng)管理模塊的功能應包括:用戶登錄(Admin和普通用戶)、退出系統(tǒng)等等?;A數(shù)據(jù)設置的功能包括:罰款(規(guī)定超出借閱天數(shù)后收費多少,默認值是0.1元)、圖書類別和讀者類別管理。借閱管理模塊的功能包括:借書(讀者編號為主鍵,也可以圖書編號為主鍵借閱,其中藥判斷讀這類型和其能借閱的本書限制)、還書(圖書編號為主鍵,判斷其借出日期和歸還日期是不是超出天數(shù)范圍之內(nèi),最后做出是否罰款這項)、借書查詢(讀者編號和圖書編號為查詢條件)和還書查

4、詢(讀者編號和圖書編號為查詢條件)。書庫管理模塊的功能包括:新書的錄入(圖書編號、圖書名稱、作者、圖書類別、出版社、圖書價格和備注)、圖書查詢(讀者編號和圖書編號為查詢條件)、圖書掛失(圖書編號為查詢條件)。最新范本,供參考!讀者管理模塊的功能包括:讀者登記(讀者編號、讀者姓名、性別、所在部門、讀者類別、聯(lián)系電話、登記日期、地址、備注)、讀者信息查詢(讀這類型和讀者編號查詢條件)和讀者注銷(讀這類型和讀者編號查詢條件)。數(shù)據(jù)庫公里模塊的功能包括:數(shù)據(jù)庫備份和數(shù)據(jù)庫恢復。當然為了更好的訂閱,要給出出版社相對質(zhì)量的參照,便于以后訂購較受歡迎的圖書。當然考慮到前臺應用程序的需要,以及相關要求,要定義

5、一部分視圖(后面遇到時,再詳細介紹)。前臺應用程序的界面要盡量的友好美觀,便于用戶操作,使用戶可以不用怎樣刻意的去學習,只要看到界面就可以做出正確的操作。用vc作為前臺的開發(fā)工具,要求應前臺用程序和后臺數(shù)據(jù)庫在數(shù)據(jù)類型方面要統(tǒng)一,否則會出現(xiàn)插入和更新異常等,導致系統(tǒng)異常,不利于使用。本系統(tǒng)的宗旨是提高圖書管理工作的效率,減少相關人員的工作量,使學校的圖書管理工作真正做到科學、合理的規(guī)劃,系統(tǒng)、高效的實施。三概要設計讀者信息:圖3-1讀者圖書:最新范本,供參考!圖3-2圖書圖3-3出版社MP中,另一張表結構如下:管理員涉及兩張表,密碼登陸上次時間放在表圖3-4管理員借書關系:圖3-6借閱關系四邏

6、輯設計編號bookInfo(codeint(30)primarykey,/namechar(50),typechar(40),presschar(40),writerchar(20),pricefloat,intdate日期/時間,isBorrowBoolean(2),reader_codechar(50briefchar(50),)bookType(typechar(40),numberint(20)reader(codechar(15),namechar(10),sexchar(2),typechar(20),reg_date日期/時間,phonechar(20),deptchar(20)

7、,addresschar(20),briefchar(20)readType(typechar(20),numberint(20)borrowInfo(ID自動編號,primarykey(ID)reader_codechar(20),primarykey(bid,rid)reader_namechar(20),/借書日期book_codechar(20),/還書日期book_namechar(20),primarykey(bid,rid),book_typechar(20),pricechar(20),borrow_date日期/時間,return_date日期/時間,isReturnBool

8、ean,operaterchar(20)RetunInfo(IDlong(10),read_codechar(15),read_namechar(10),book_codechar(20),book_namechar(20),book_typechar(20),pricechar(20),borrow_date日期/時間,return_date日期/時間,punishchar(20),otherchar(20),totalchar(20),operatoerchar(20)publishType(typechar(20),moneychar(50)user/保存管理員登陸時間密碼的表(user

9、char(6)primarykey,passwsdchar(8),isadminboolan(2)至于定義的視圖等,在前臺應用程序中用到時再進行說明。五詳細設計1登錄界面可以根據(jù)需要在數(shù)據(jù)庫中建立相應的用戶,用戶具體可分為一般用戶和管理員。登錄默密碼為1。2主界面至荒齷象:端味龍百得同苣理書庫整寸唏苣Z空客許能用郎萼工一京3各個菜單模塊簡介1系統(tǒng)管理點擊系統(tǒng)管理,彈出下拉菜單,注銷登錄與退出系統(tǒng)菜單很簡單不詳細講解,重點講解用戶管理菜單。點擊用戶管理菜單彈出一些窗口。退出I用戶資料用戶名:I呼國確認:F是否是管理員保存取消|用戶列表讀取的是數(shù)據(jù)庫中User表的信息,將用戶信息顯示在列表框中,在

10、此Dialog的InitialDialog中進行,具體代碼如下:BOOLCUserDlg:OnInitDialog()CDialog:OnInitDialog();創(chuàng)建用戶列表m_ctrList.InsertColumn(0,"用戶名");m_ctrList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);m_ctrList.SetColumnWidth(0,120);/在添加用戶列表中添加用戶名RefreshData();returnTRUE;voidCUserDlg:RefreshData()m_ctrLi

11、st.SetFocus();/清空用戶列表m_ctrList.DeleteAllItems();m_ctrList.SetRedraw(FALSE);CStringstrSQL;UpdateData(TRUE);打開記錄集strSQL="select*fromuser"if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox("打開數(shù)據(jù)庫失敗!","數(shù)據(jù)庫錯誤",MB_OK);return;添加用戶名到用戶列表中inti=0;while(!m_recordset.Is

12、EOF()m_ctrList.InsertItem(i+,m_recordset.m_user);m_recordset.MoveNext();m_recordset.Close();m_ctrList.SetRedraw(TRUE);點擊保存信息是將用戶修改的信息等保存到數(shù)據(jù)庫,具體代碼如下:UpdateData();if(m_ctrUse匚IsWindowEnabled()增加新用戶的輸入檢查if(m_strUser="")MessageBox("請?zhí)顚懹脩裘?quot;);m_ctrUser.SetFocus();return;else修改用戶信息的輸入檢

13、查if(m_strUser="")MessageBox("請選擇一個用戶!");return;限制密碼不能為空if(m_strPass="")MessageBox("密碼不能為空,t#輸入密碼!");m_ctrPass.SetFocus();return;/驗證密碼與確認密碼是否一致if(m_strPass!=m_strRePass)MessageBox("兩次輸入地密碼不一致,請重新輸入密碼!");m_ctrPass.SetFocus();m_strPass=""m_str

14、RePass=""UpdateData(FALSE);return;打開記錄集CStringstrSQL;strSQL.Format("select*fromuserwhereuser='%s'",m_strUser);if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox("打開數(shù)據(jù)庫失??!","數(shù)據(jù)庫錯誤",MB_OK);return;if(m_ctrUser.IsWindowEnabled()增加新用戶判斷用戶是否已經(jīng)存在i

15、f(m_recordset.GetRecordCount()!=0)m_recordset.Close();MessageBox("該用戶已經(jīng)存在!");return;m_recordset.AddNew();m_recordset.m_user=m_strUser;m_recordset.m_passwd=m_strPass;m_recordset.m_isadmin=m_bIsAdmin;m_recordset.Update();MessageBox("用戶添加成功!請記住用戶名和密碼!");m_recordset.Close();else修改用戶信

16、息判斷用戶是否不存在if(m_recordset.GetRecordCount()=0)m_recordset.Close();MessageBox("該用戶不存在!請更新數(shù)據(jù)庫");return;m_recordset.Edit();m_recordset.m_user=m_strUser;m_recordset.m_passwd=m_strPass;m_recordset.m_isadmin=m_bIsAdmin;m_recordset.Update();MessageBox("用戶修改成功!請記住用戶名和密碼!");m_recordset.Clos

17、e();m_ctrUser.EnableWindow(FALSE);更新用戶列表RefreshData();2基礎數(shù)據(jù)設置基礎數(shù)據(jù)設置主要分為三個模塊罰金設置,圖書類別設置,讀者類別設置點擊模塊罰金設置,彈出對話框如下:每超出一天的罰款金額I71礴定I取點擊確定按鈕,更新數(shù)據(jù)庫的罰金表,實現(xiàn)代碼如下UpdateData();檢查金額輸入if(m_strMoney.IsEmpty()AfxMessageBox("請輸入罰款金額");return;構造記錄集,保存數(shù)據(jù)CPunishTypeSetrs;CStringstrSQL;strSQL="select*fromp

18、unishType"if(!rs.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox("打開數(shù)據(jù)庫失敗!","數(shù)據(jù)庫錯誤",MB_OK);return;判斷記錄是否已經(jīng)存在if(rs.GetRecordCount()!=0)rs.Edit();rs.m_type="超出罰款"rs.m_money=m_strMoney;rs.Update();elsers.AddNew();rs.m_type="超出罰款"rs.m_money=m_strMoney;rs.Updat

19、e();rs.Close();CDialog:OnOK();點擊圖書類別設置,彈出對話框如下:S3返回點擊添加按鈕,將增加的類別信息填入對應的類別表中,代碼如下:ClnputDlgdlg;dlg.m_strTypeNo="圖書類型:"dlg.m_strNumberNo="可借天數(shù):"if(dlg.DoModal()=IDOK)/打開記錄集CStringstrSQL;strSQL.Format("select*frombookTypewheretype='%s'",dlg.m_strType);if(!m_records

20、et.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox("打開數(shù)據(jù)庫失??!","數(shù)據(jù)庫錯誤",MB_OK);最新范本,供參考!return;判斷記錄是否已經(jīng)存在if(m_recordset.GetRecordCount()!=0)m_recordset.Close();MessageBox("該記錄已經(jīng)存在!");return;m_recordset.AddNew();m_recordset.m_type=dlg.m_strType;m_recordset.m_number=dlg.m_nN

21、umber;m_recordset.Update();m_recordset.Close();/更新列表RefreshData();修改和刪除的操作類似,這里不詳細介紹了。點擊讀者類別設置,彈出對話框如下:最新范本,供參考!£者主之設苣類別名稱可借冊數(shù)會員譚者5??粕?本科生5寇痛15普通讀者4返回點擊添加按鈕,將增加的類別信息填入對應的類別表中,代碼如下:ClnputDlgdlg;dlg.m_strTypeNo="讀者類型:"dlg.m_strNumberNo="可借冊數(shù):"if(dlg.DoModal()=IDOK)/打開記錄集CStrin

22、gstrSQL;strSQL.Format("select*fromreaderTypewheretype='%s'",dlg.m_strType);if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox("打開數(shù)據(jù)庫失??!","數(shù)據(jù)庫錯誤",MB_OK);return;判斷記錄是否已經(jīng)存在if(m_recordset.GetRecordCount()!=0)m_recordset.Close();MessageBox("該記錄已經(jīng)存在!&

23、quot;);return;m_recordset.AddNew();m_recordset.m_type=dlg.m_strType;m_recordset.m_number=dlg.m_nNumber;m_recordset.Update();m_recordset.Close();/更新列表RefreshData();修改和刪除的操作類似,這里不詳細介紹了。3借書管理點擊借書子菜單,彈出對話框借出按鈕對應的代碼如下:/判斷讀者是否具有借閱資格,以及圖書是否可以被借出if(!m_bReaderEnable|!m_bBookEnable)最新范本,供參考!return;CLibraryApp

24、*ptheApp=(CLibraryApp*)AfxGetApp();修改圖書庫存信息CBookInfoSetrs_book;CStringstrSQL;strSQL.Format("select*frombookinfowherecode='%s'",m_strBookCode);if(!rs_book.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox("打開數(shù)據(jù)庫失??!","數(shù)據(jù)庫錯誤",MB_OK);return;if(rs_book.GetRecordCount()=

25、0)rs_book.Close();return;rs_book.Edit();rs_book.m_isBorrow=TRUE;rs_book.m_reader_code=m_strReaderCode;rs_book.Update();rs_book.Close();if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE)AfxMessageBox("打開數(shù)據(jù)庫失敗!");return;添加借書記錄m_recordset.AddNew();m_recordset.m_book_codem_recordset.m_book_name=m_r

26、ecordset.m_book_typem_recordset.m_borrow_datem_recordset.m_operatorm_recordset.m_pricem_recordset.m_reader_code=m_recordset.m_reader_name=m_recordset.m_return_date=m_recordset.m_isReturn=m_strBookCode;m_strBookName;=m_strBookType;=CTime:GetCurrentTime();=ptheApp->m_strOperator;=m_strBookPrice;m_s

27、trReaderCode;m_strReaderName;CTime:GetCurrentTime()+m_nDays*24*3600=FALSE;取新氾本,供參f!m_recordset.Update();m_recordset.Close();更新界面顯示m_strBookCode=""m_strBookName=""m_strBookType=""m_strBookPrice=""m_nDays=0;m_nAlready+;m_nLeft-;m_bBookEnable=FALSE;UpdateData(FAL

28、SE);RefreshData();點擊還書子菜單,彈出對話框歸還按鈕對應的代碼如下:UpdateData();CLibraryApp*ptheApp=(CLibraryApp*)AfxGetApp();修改圖書庫存信息CBookInfoSetrs_book;CStringstrSQL;strSQL.Format("select*frombookinfowherecode='%s'",m_strBookCode);if(!rs_book.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)最新范本,供參考!MessageBox("

29、;打開數(shù)據(jù)庫失??!","數(shù)據(jù)庫錯誤",MB_OK);return;if(rs_book.GetRecordCount()=0)rs_book.Close();return;rs_book.Edit();rs_book.m_isBorrow=FALSE;rs_book.m_reader_code=_T("");rs_book.Update();rs_book.Close();修改借閱信息strSQL.Format("select*fromborrowInfowherebook_code='%s'andisReturn=F

30、alse,m_strBookCode);if(!m_BorrowSet.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)AfxMessageBox("打開數(shù)據(jù)庫失敗!");return;判斷是否借出if(m_BorrowSet.GetRecordCount()!=0)m_BorrowSet.Edit();m_BorrowSet.m_isReturn=TRUE;m_BorrowSet.Update();m_BorrowSet.Close();保存還書信息到數(shù)據(jù)庫中if(!m_ReturnSet.Open(AFX_DB_USE_DEFAULT_TYPE)

31、AfxMessageBox("打開數(shù)據(jù)庫失敗!");m_bntReturn.EnableWindow(FALSE);return;charbuffer20;m_ReturnSet.AddNew();m_ReturnSet.m_book_code=m_strBookCode;m_ReturnSet.m_book_name=m_strBookName;m_ReturnSet.m_book_type=m_strBookType;m_ReturnSet.m_borrow_date=m_tmBorrow;m_ReturnSet.m_operator=ptheApp->m_str

32、Operator;gcvt(m_fOther,7,buffer);m_ReturnSet.m_other=buffer;m_ReturnSet.m_price=m_strPrice;gcvt(m_fPunish,7,buffer);m_ReturnSet.m_punish=buffer;m_ReturnSet.m_reader_code=m_strReaderCode;m_ReturnSet.m_reader_name=m_strReaderName;m_ReturnSet.m_return_date=CTime:GetCurrentTime();gcvt(m_fTotal,7,buffer)

33、;m_ReturnSet.m_total=buffer;m_ReturnSet.Update();m_ReturnSet.Close();AfxMessageBox("圖書歸還成功!”,MB_ICONINFORMATION);恢復到初始狀態(tài)OnButtonClear();點擊借書查詢,彈出如下對話框:借書直詢次廠查詢條件1(萱詢讀者墉銬;廠圖書編招:回I醺者編號I讀者姓名I圖書編號圖書名禰1圖書類別I圖書價格I借出日期一I歸:irr查詢按鈕對應的代碼如下:UpdateData();CStringstrSQL;if(!m_strReaderCode.IsEmpty()&!m_s

34、trBookCode.IsEmpty()strSQL.Format("select*fromborrowinfowherereader_code='%s'andbook_code=%s"',m_strReaderCode,m_strBookCode);elseif(!m_strReaderCode.IsEmpty()strSQL.Format("select*fromborrowinfowherereader_code='%s'",m_strReaderCode);elseif(!m_strBookCode.IsE

35、mpty()strSQL.Format("select*fromborrowinfowherebook_code='%s'",m_strBookCode);elsestrSQL="select*fromborrowinfo"m_ctrList.DeleteAllItems();m_ctrList.SetRedraw(FALSE);if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox("打開數(shù)據(jù)庫失??!","數(shù)據(jù)庫錯誤",MB_O

36、K);return;inti=0;CStringstrTime;while(!m_recordset.IsEOF()m_ctrList.InsertItem(i,m_recordset.m_reader_code);m_ctrList.SetItemText(i,1,m_recordset.m_reader_name);m_ctrList.SetItemText(i,2,m_recordset.m_book_code);m_ctrList.SetItemText(i,3,m_recordset.m_book_name);m_ctrList.SetItemText(i,4,m_recordset

37、.m_price);m_ctrList.SetItemText(i,5,m_recordset.m_book_type);strTime.Format("%d-%d-%d",m_recordset.m_borrow_date.GetYear(),m_recordset.m_borrow_date.GetMonth(),m_recordset.m_borrow_date.GetDay();m_ctrList.SetItemText(i,6,strTime);strTime.Format("%d-%d-%d",m_recordset.m_return_dat

38、e.GetYear(),m_recordset.m_return_date.GetMonth(),m_recordset.m_return_date.GetDay();m_ctrList.SetItemText(i,7,strTime);m_ctrList.SetItemText(i,8,m_recordset.m_operator);i+;m_recordset.MoveNext();m_recordset.Close();m_ctrList.SetRedraw(TRUE);點擊還書查詢,彈出一下對話框S3還書意泡讀者編號;|圖書編號:返回|澳者編函I讀者姓名I圄書由號I圄書名稱1國書堂別I

39、圖書價格I借出日期1歸:*|m+查詢按鈕對應的代碼如下:m_ctrList.DeleteAllItems();m_ctrList.SetRedraw(FALSE);UpdateData(TRUE);CStringstrSQL;if(m_strCode.IsEmpty()&m_strType.IsEmpty()strSQL="select*fromreaderinfo"elseif(m_strType.IsEmpty()strSQL.Format("select*fromreaderinfowherecode='%s'",m_str

40、Code);elseif(m_strCode.IsEmpty()strSQL.Format("select*fromreaderinfowheretype='%s'",m_strType);elsestrSQL.Format("select*fromreaderinfowherecode='%s'andtype='%s'",m_strCode,m_strType);if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox("打開數(shù)

41、據(jù)庫失??!","數(shù)據(jù)庫錯誤",MB_OK);return;inti=0;CStringstrTime;while(!m_recordset.IsEOF()m_ctrList.InsertItem(i,m_recordset.m_code);m_ctrList.SetItemText(i,1,m_recordset.m_name);m_ctrList.SetItemText(i,2,m_recordset.m_sex);m_ctrList.SetItemText(i,3,m_recordset.m_type);strTime.Format("%d-%d-%

42、d",m_recordset.m_reg_date.GetYear(),m_recordset.m_reg_date.GetMonth(),m_recordset.m_reg_date.GetDay();m_ctrList.SetItemText(i,4,strTime);m_ctrList.SetItemText(i,5,m_recordset.m_dept);m_ctrList.SetItemText(i,6,m_recordset.m_phone);m_ctrList.SetItemText(i,6,m_recordset.m_address);m_ctrList.SetIte

43、mText(i,6,m_recordset.m_brief);i+;m_recordset.MoveNext();m_recordset.Close();m_ctrList.SetRedraw(TRUE);4書庫管理書庫管理主要有三個模塊構成:新書入庫,圖書查詢,圖書掛失點擊新書入庫菜單登記按鈕對應的代碼如下:UpdateData();if(m_strBookCode.IsEmpty()AfxMessageBox("請輸入圖書編號!");return;if(m_strBookType.IsEmpty()AfxMessageBox("請輸入圖書類型!");

44、return;if(m_strBookName.IsEmpty()AfxMessageBox("請輸入圖書名稱!");return;最新范本,供參考!CStringstrSQL;CTimecurrent=CTime:GetCurrentTime();strSQL.Format("select*frombookinfowherecode='%s'",m_strBookCode);if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox("打開數(shù)據(jù)庫失??!"

45、;,"數(shù)據(jù)庫錯誤",MB_OK);return;if(m_recordset.GetRecordCount()!=0)m_recordset.Close();AfxMessageBox("該圖書編號已經(jīng)存在,請重新輸入!");return;m_recordset.Close();if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE)MessageBox("打開數(shù)據(jù)庫失??!","數(shù)據(jù)庫錯誤",MB_OK);return;添加圖書記錄m_recordset.AddNew();m_re

46、cordset.m_code=m_strBookCode;m_recordset.m_name=m_strBookName;m_recordset.m_type=m_strBookType;m_recordset.m_in_date=current;m_recordset.m_price=m_strPrice;m_recordset.m_press=m_strPress;m_recordset.m_writer=m_strWriter;m_recordset.m_brief=m_strBrief;m_recordset.m_isBorrow=FALSE;m_recordset.Update()

47、;m_recordset.Close();/更新列表CStringstrTime;m_ctrList.Insertitem(0,m_strBookCode);m_ctrList.SetitemText(0,1,m_strBookName);最新范本,供參考!m_ctrList.SetItemText(0,2,m_strBookType);m_ctrList.SetItemText(0,3,m_strWriter);m_ctrList.SetItemText(0,4,m_strPress);m_ctrList.SetItemText(0,5,m_strPrice);strTime.Format(

48、"%d-%d-%d",current.GetYear(),current.GetMonth(),current.GetDay();m_ctrList.SetItemText(0,6,strTime);m_ctrList.SetItemText(0,7,m_strBrief);更新界面顯示m_strBookType=_T("");m_strBookCode=_T("");m_strBookName=_T("");m_strPrice=_T("");m_strPress=_T(""

49、;);m_strWriter=_T("");m_strBrief=_T("");UpdateData(FALSE);點擊圖書查詢菜單圄書信息堂洵111圖書褊號,|四詢|顯而全部|返回|即1.圖書類別作者出版社II科書你懵登記日期查詢代碼如下:UpdateData();CStringstrSQL;if(m_strCode.IsEmpty()strSQL="select*frombookinfo"elsestrSQL.Format("select*frombookinfowherecode='%s'",

50、m_strCode);RefreshData(strSQL);點擊圖書掛失菜單掛失代碼如下:UpdateData();if(m_strCode.IsEmpty()AfxMessageBox("請輸入待掛失的圖書編號!");return;CStringstrSQL;strSQL.Format("select*frombookinfowherecode='%s'",m_strCode);if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)AfxMessageBox("打開數(shù)據(jù)庫失敗

51、!");return;if(m_recordset.GetRecordCount()=0)AfxMessageBox("沒有找到該圖書!");m_recordset.Close();return;m_recordset.Delete();m_recordset.Close();AfxMessageBox("圖書掛失成功!",MB_ICONINFORMATION);m_ctrList.DeleteAllItems();更新界面顯示m_strCode=_T("");UpdateData(FALSE);5讀者管理讀者管理模塊分為三

52、部分:讀者登記,讀者信息查詢,讀者注銷點擊讀者登記菜單確定按鈕對應代碼:UpdateData();檢查輸入數(shù)據(jù)if(m_strCode.IsEmpty()AfxMessageBox("請輸入讀者編號!");return;if(m_strName.IsEmpty()AfxMessageBox("請輸入讀者姓名!");return;if(m_strType.IsEmpty()AfxMessageBox("請輸入讀者類別!");return;保存讀者信息到數(shù)據(jù)庫中CStringstrSQL;strSQL.Format("selec

53、t*fromreaderinfowherecode='%s'",m_strCode);CReaderInfoSetrs;if(!rs.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox("打開數(shù)據(jù)庫失??!","數(shù)據(jù)庫錯誤",MB_OK);return;if(rs.GetRecordCount()!=0)rs.Close();AfxMessageBox("該編號已經(jīng)存在,請重新輸入!");return;rs.Close();if(!rs.Open(AFX_DB_USE_

54、DEFAULT_TYPE)MessageBox("打開數(shù)據(jù)庫失??!","數(shù)據(jù)庫錯誤",MB_OK);return;添加讀者記錄rs.AddNew();rs.m_address=m_strAddress;rs.m_brief=m_strBrief;rs.m_code=m_strCode;rs.m_dept=m_strDept;rs.m_name=m_strName;rs.m_phone=m_strPhone;rs.m_reg_date=m_tmDate;rs.m_sex=m_strSex;rs.m_type=m_strType;rs.Update();rs

55、.Close();if(IDOK=AfxMessageBox("讀者登記成功!是否登記下一個讀者?",MB_OKCANCEL)return;CDialog:OnOK();點擊信息查詢菜單點擊查詢按鈕,對應的代碼如下:m_ctrList.DeleteAllItems();m_ctrList.SetRedraw(FALSE);UpdateData(TRUE);最新范本,供參考!CStringstrSQL;if(m_strCode.IsEmpty()&m_strType.IsEmpty()strSQL="select*fromreaderinfo"el

56、seif(m_strType.IsEmpty()strSQL.Format("select*fromreaderinfowherecode='%s'",m_strCode);elseif(m_strCode.IsEmpty()strSQL.Format("select*fromreaderinfowheretype='%s'",m_strType);elsestrSQL.Format("select*fromreaderinfowherecode='%s'andtype='%s'&

57、quot;,m_strCode,m_strType);if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox("打開數(shù)據(jù)庫失??!","數(shù)據(jù)庫錯誤",MB_OK);return;inti=0;CStringstrTime;while(!m_recordset.IsEOF()m_ctrList.insertitem(i,m_recordset.m_code);m_ctrList.SetitemText(i,1,m_recordset.m_name);m_ctrList.SetItemTex

58、t(i,2,m_recordset.m_sex);m_ctrList.SetItemText(i,3,m_recordset.m_type);strTime.Format("%d-%d-%d",m_recordset.m_reg_date.GetYear(),m_recordset.m_reg_date.GetMonth(),m_recordset.m_reg_date.GetDay();m_ctrList.SetItemText(i,4,strTime);m_ctrList.SetItemText(i,5,m_recordset.m_dept);m_ctrList.SetItemText(i,6,m_recordset.m_phone);m_ctrList.SetItemText(i,6,m_records

溫馨提示

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

評論

0/150

提交評論