




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、學(xué)生信息管理系統(tǒng)中南民族大學(xué)計算機(jī)科學(xué)學(xué)院數(shù)據(jù)庫綜合實驗報告題 目 學(xué)生信息系統(tǒng)年 級 08級 專 業(yè) 計算機(jī)科學(xué)與技術(shù)指導(dǎo)教師 陳幼均 小組成員(姓名學(xué)號)08061097雷文 08061099周進(jìn) 08060000蘭晨泉 實驗類型 綜合型 成績評定評語:教師簽名: 年 月 日 2010 年 12月 20 日目錄1引言21. 1實驗?zāi)康?2任務(wù)概述22. 1 目標(biāo)222 開發(fā)平臺22.2.1最小硬件設(shè)備22.2.2軟件環(huán)境33. 功能需求33. 1 需求調(diào)查33. 2 靜態(tài)數(shù)據(jù)(輸入、輸出)描述33. 3 功能設(shè)計33.3.1總體功能設(shè)計34. 數(shù)據(jù)描述441 邏輯設(shè)計442 E-R模型54
2、3 關(guān)系模型544 編碼及調(diào)試能力95. 編程體會106. 1 遇到問題及解決方法106. 2 程序部分重要代碼106. 注意事項.197. 結(jié)束語.198. 參考文獻(xiàn).191引言11 實驗?zāi)康奈覀冊O(shè)計開發(fā)的圖書館借閱管理系統(tǒng)主要包括后臺數(shù)據(jù)庫的建立和前端應(yīng)用程序的開發(fā)兩個方面。對于前者我們用的是Microsoft office access,要求建立起數(shù)據(jù)一致性和完整性強(qiáng).數(shù)據(jù)安全性好的庫,而對于后者則用VISUAL C+開發(fā)工具,要求應(yīng)用程序功能完備,易使用等特點。由于圖書館主要從事大量的圖書資料的儲存和流通。傳統(tǒng)的人工管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產(chǎn)生大量
3、的文件和數(shù)據(jù),這對于查找、更新和維護(hù)都帶來了不少的困難。而作為計算機(jī)應(yīng)用的一部分,使用計算機(jī)對圖書資源信息進(jìn)行管理,具有手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高圖書館管理的效率。因此對于開發(fā)這樣一個圖書館借閱管理系統(tǒng),有著非常重大的意義。2任務(wù)概述2. 1 目標(biāo)本系統(tǒng)就是要達(dá)到對教師及學(xué)生借閱書籍的日常管理,能快速完成,并對信息進(jìn)行數(shù)據(jù)庫管理,從而為用戶提供充足的信息和快捷的查詢手段的目的。22 開發(fā)平臺2.2.1最小硬件設(shè)備本系統(tǒng)開發(fā)所用服務(wù)器的配置是: ·Windows XP PC機(jī)·51
4、2MB內(nèi)存·80GB硬盤(7200轉(zhuǎn),串行)2.2.2軟件環(huán)境本系統(tǒng)的設(shè)計采用的是Microsoft office access,以及采用Visual C+6.0來處理圖像數(shù)據(jù)。Microsoft office access是一種簡單易學(xué)的數(shù)據(jù)庫類型,而且易于與編程語言Visual C+進(jìn)行連接,所以我們選用Microsoft office access作為我們的數(shù)據(jù)庫。3. 功能需求3.1需求調(diào)查我們組設(shè)計的這個圖書館借閱管理系統(tǒng),主要是針對圖書館的管理員的,使用此系統(tǒng)管理圖書與讀者信息能夠更加便捷,提高工作效率。3.2靜態(tài)數(shù)據(jù)(輸入、輸出)描述系統(tǒng)界面用戶管理系統(tǒng)圖書管理系統(tǒng)工作
5、系統(tǒng)讀者管理系統(tǒng)添加刪除管理員用戶管理圖書信息對借還信息做必要調(diào)整管理讀者信息退出3.3 功能設(shè)計3.3.1 總體功能設(shè)計圖3.3.1.1 整體功能設(shè)計圖數(shù)據(jù)流圖如下:添加的讀者信息所刪的讀者編號修改的讀者信息查詢條件及方式添加的圖書類別刪除的圖書類別修改的圖書類別借閱表讀者表圖書信息表還書請求借書請求查詢讀者信息請求總體功能實現(xiàn):選擇類型檢查編輯圖書類別查詢圖書信息編輯讀者信息編輯讀者信息查詢讀者信息借書還書圖書類別表選擇用戶4. 數(shù)據(jù)描述41 邏輯設(shè)計兩種快捷方式按鈕:1. 圖書信息查詢功能通過書名、書的編號、圖書類別、作者或者出版社進(jìn)行檢索。對于未借出的書可以借給未借滿的用戶。2. 讀者
6、信息:通過讀者編號、姓名、和種類可以依據(jù)不同的分類方式對讀者信息進(jìn)行檢索。菜單項功能:1. 圖書管理圖書類別管理:從圖書類別表中添加、修改、刪除圖書類別。圖書信息管理:從書籍信息表中對于圖書信息進(jìn)行查詢、添加、修改、刪除操作。2. 讀者管理讀者類別管理:從讀者類別表添加、修改、刪除讀者類別。讀者信息管理:從讀者信息表對于讀者信息進(jìn)行查詢、添加、修改、刪除操作。3. 圖書借閱管理借書管理:從借閱信息表中添加借書信息、查詢借書信息。還書管理:從借閱信息表中將需要還的書加入。4. 系統(tǒng)管理添加管理員:對于不同的圖書館的工作人員都可以在界面下增加新的管理人員,添加入用戶表。更改密碼:對于進(jìn)入系統(tǒng)的登錄
7、密碼進(jìn)行修改,隨之修改用戶表中對應(yīng)的密碼。42 E-R模型總體的ER圖用戶借 閱mn圖書借書日期管理員編輯添 加刪 除更 新編輯n刪 除n添 加更 新查詢查詢修改密碼添加管理員mm 圖4.2.1 E-R圖43 關(guān)系模型(1)書籍信息表:本表主要用于存儲圖書信息, 主碼為:(圖書)編號 (2) 借閱信息表:本表主要用于存儲讀者借閱信息: (3) 用戶表:(4)圖書掛失信息表 44 編程能力及調(diào)試1) 用戶界面設(shè)計采用總分式的結(jié)構(gòu);利用單頁面多窗口,結(jié)構(gòu)簡單、操作方便、界面清晰2) 功能實現(xiàn)情況 1 圖書信息查詢功能通過書名、書的編號、圖書類別、作者或者出版社進(jìn)行檢索。對于未借出的書可以借給未借滿
8、的用戶。2 讀者信息:通過讀者編號、姓名、和種類可以依據(jù)不同的分類方式對讀者信息進(jìn)行檢索。5. 編程體會5.1遇到的問題及解決方法 我們遇到過困難。開始時,我們準(zhǔn)備使用微軟的SQL server,但由于不熟悉如何連接,繼而使用了另一種較簡單的數(shù)據(jù)庫access。由于時間有限,加之接觸VC+時間不長,我們對于界面的美化沒有做到盡善盡美;一些特殊功能模塊比如借書賬單沒有得以開發(fā)實現(xiàn)。5.2 程序部分重要代碼 以下是圖書管理系統(tǒng)的部分功能以及實現(xiàn)這些功能的代碼(1). 圖書管理系統(tǒng)登陸界面 實現(xiàn)的代碼如下:CLibraryDlg:CLibraryDlg(CWnd* pParent /*=NULL*/
9、): CDialog(CLibraryDlg:IDD, pParent)/AFX_DATA_INIT(CLibraryDlg)m_strPassword = _T("");m_strUsername = _T("");/AFX_DATA_INIT/ Note that LoadIcon does not require a subsequent DestroyIcon in Win32m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);void CLibraryDlg:DoDataExchange(CDat
10、aExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CLibraryDlg)DDX_Text(pDX, IDC_EDIT_PASSWD, m_strPassword);DDX_Text(pDX, IDC_EDIT_USER, m_strUsername);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CLibraryDlg, CDialog)/AFX_MSG_MAP(CLibraryDlg)ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_BUTTON_OK, O
11、nButtonOk)ON_BN_CLICKED(IDC_BUTTON_CANCEL, OnButtonCancel)ON_WM_CLOSE()ON_WM_LBUTTONDBLCLK()ON_WM_CREATE()ON_MESSAGE(DM_GETDEFID, OnGetDefID)/AFX_MSG_MAPEND_MESSAGE_MAP()/ CLibraryDlg message handlersBOOL CLibraryDlg:OnInitDialog()CDialog:OnInitDialog();/ Set the icon for this dialog. The framework
12、does this automatically/ when the application's main window is not a dialogSetIcon(m_hIcon, TRUE);/ Set big iconSetIcon(m_hIcon, FALSE);/ Set small icon/ TODO: Add extra initialization herecount=0;return TRUE; / return TRUE unless you set the focus to a control/ If you add a minimize button to y
13、our dialog, you will need the code below/ to draw the icon. For MFC applications using the document/view model,/ this is automatically done for you by the framework.void CLibraryDlg:OnPaint() if (IsIconic()CPaintDC dc(this); / device context for paintingSendMessage(WM_ICONERASEBKGND, (WPARAM) dc.Get
14、SafeHdc(), 0);/ Center icon in client rectangleint cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;/ Draw the icondc.DrawIcon(x, y, m_hIcon);elseCDialog:
15、OnPaint();/ The system calls this to obtain the cursor to display while the user drags/ the minimized window.HCURSOR CLibraryDlg:OnQueryDragIcon()return (HCURSOR) m_hIcon;void CLibraryDlg:OnButtonOk() UpdateData();if(m_strUsername.IsEmpty()MessageBox("Please input your username!","登錄系
16、統(tǒng)",MB_OK|MB_ICONEXCLAMATION);m_strUsername.Empty();UpdateData(FALSE);return;if(!m_database.IsOpen()/連接數(shù)據(jù)源if(!m_database.Open(_T("Library")MessageBox("Cannot access the database!","圖書管理系統(tǒng)",MB_OK|MB_ICONINFORMATION);return;CLoginSet *m_pLogset=new CLoginSet(&m_da
17、tabase);/編寫SQL語句CString strSQL;strSQL.Format("select * from Admin_Info where User_Name='%s' AND Password='%s'",m_strUsername,m_strPassword);/編寫SQL語句結(jié)束m_pLogset->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);if(m_pLogset->GetRecordCount()=0)if(count<5)MessageBox("Login
18、incorrect!","圖書管理系統(tǒng)",MB_OK|MB_ICONERROR);count+;m_strPassword.Empty();m_strUsername.Empty();UpdateData(FALSE);elsem_database.Close();MessageBox("You are dismissed this time, Please contact with Administrator!","圖書管理系統(tǒng)");OnOK();elsem_database.Close();CMainDlg m_Main
19、;m_Main.m_user=m_strUsername;MessageBox("Login OK! Welcome to use my software!","圖書管理系統(tǒng)");m_Main.DoModal();OnOK();void CLibraryDlg:OnButtonCancel() int iResult=MessageBox("Will you really quit?","圖書管理系統(tǒng)",MB_YESNO|MB_ICONQUESTION);if(iResult=IDYES)if(m_database
20、.IsOpen()m_database.Close();OnOK();void CLibraryDlg:OnClose() OnButtonCancel();void CLibraryDlg:OnLButtonDblClk(UINT nFlags, CPoint point) MessageBox("What do you want to do?","圖書管理系統(tǒng)",MB_ICONQUESTION);CDialog:OnLButtonDblClk(nFlags, point);int CLibraryDlg:OnCreate(LPCREATESTRUCT
21、 lpCreateStruct) if (CDialog:OnCreate(lpCreateStruct) = -1)return -1;return 0;LRESULT CLibraryDlg:OnGetDefID(WPARAM wp, LPARAM lp) return MAKELONG(0,DC_HASDEFID); (2). 修改密碼 實現(xiàn)的代碼如下:CPasswdDlg:CPasswdDlg(CWnd* pParent /*=NULL*/): CDialog(CPasswdDlg:IDD, pParent)/AFX_DATA_INIT(CPasswdDlg)m_strConfirm
22、= _T("");m_strNewPass = _T("");/AFX_DATA_INITvoid CPasswdDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CPasswdDlg)DDX_Text(pDX, IDC_EDIT_CONFIRM_PASS, m_strConfirm);DDX_Text(pDX, IDC_EDIT_NEW_PASS, m_strNewPass);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CPa
23、sswdDlg, CDialog)/AFX_MSG_MAP(CPasswdDlg)ON_BN_CLICKED(IDC_BUTTON_OK, OnButtonOk)ON_BN_CLICKED(IDC_BUTTON_CANCEL, OnButtonCancel)ON_WM_CLOSE()/AFX_MSG_MAPEND_MESSAGE_MAP()/ CPasswdDlg message handlersBOOL CPasswdDlg:OnInitDialog() CDialog:OnInitDialog();count=0;return TRUE; / return TRUE unless you
24、set the focus to a control / EXCEPTION: OCX Property Pages should return FALSEvoid CPasswdDlg:OnButtonOk() UpdateData();if(m_strNewPass!=m_strConfirm)if(count<5)MessageBox("New passwords of two times are different!","修改密碼");count+;return;elseMessageBox("You have no right
25、for more trials, please contact with Administrator!","修改密碼");OnOK();if(!m_database.IsOpen()if(!m_database.Open(_T("Library")MessageBox("Cannot access the database!","圖書管理系統(tǒng)",MB_OK);return;CString strSQL;strSQL.Format("select * from Admin_Info where U
26、ser_Name='%s'",m_user);CLoginSet *m_pset=new CLoginSet(&m_database);m_pset->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);m_pset->Edit();m_pset->m_Password=m_strNewPass;m_pset->Update();m_pset->Requery();m_database.Close();MessageBox("Password Modified successfully, do re
27、member new password!","修改密碼");OnOK();void CPasswdDlg:OnButtonCancel() if(m_database.IsOpen()m_database.Close();OnOK();void CPasswdDlg:OnClose() OnButtonCancel();(3). 借書還書管理實現(xiàn)代碼如下:CBorrowDlg:CBorrowDlg(CWnd* pParent /*=NULL*/): CDialog(CBorrowDlg:IDD, pParent)/AFX_DATA_INIT(CBorrowDlg)
28、m_strBookID = _T("");m_strProofID = _T("");/AFX_DATA_INITvoid CBorrowDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CBorrowDlg)DDX_Control(pDX, IDC_LIST_SHOW, m_ctrList);DDX_Text(pDX, IDC_EDIT_BOOK, m_strBookID);DDX_Text(pDX, IDC_EDIT_PROOF, m_str
29、ProofID);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CBorrowDlg, CDialog)/AFX_MSG_MAP(CBorrowDlg)ON_BN_CLICKED(IDC_BUTTON_RESET, OnButtonReset)ON_BN_CLICKED(IDC_BUTTON_OK, OnButtonOk)ON_BN_CLICKED(IDC_BUTTON_BACK, OnButtonBack)ON_WM_CLOSE()ON_BN_CLICKED(IDC_BUTTON_CHECK_BORROW, OnButtonCheckBorrow)ON_BN_CLICKED(
30、IDC_BUTTON_RETURN, OnButtonReturn)ON_BN_CLICKED(IDC_BUTTON_CHECK_BOOKS, OnButtonCheckBooks)/AFX_MSG_MAPEND_MESSAGE_MAP()/ CBorrowDlg message handlersvoid CBorrowDlg:OnButtonReset() m_strProofID.Empty();m_strBookID.Empty();UpdateData(FALSE);void CBorrowDlg:OnButtonOk() UpdateData();if(m_strProofID=&q
31、uot;"|m_strBookID="")MessageBox("輸入的域不完整,請重新輸入!","借書管理",MB_ICONERROR);m_strProofID.Empty();m_strBookID.Empty();UpdateData(FALSE);return;if(!m_database.IsOpen()if(!m_database.Open(_T("Library")MessageBox("Cannot access the database!","借書管理&q
32、uot;);return;CString strSQL;/判斷借書人是否有資格strSQL.Format("select * from Proof_Info where Proof_ID='%s'", m_strProofID);CProofSet *m_pProof=new CProofSet(&m_database);m_pProof->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);if(m_pProof->GetRecordCount()=0)MessageBox("There is no in
33、formation for this person","借書/還書",MB_ICONINFORMATION);m_pProof->Close();m_database.Close();return;CDBVariant varValue;m_pProof->GetFieldValue(7,varValue);if(varValue.m_iVal=4)/如果不滿足條件MessageBox("You cannot borrow more than 4 books!","借書/還書",MB_OK|MB_ICONINFO
34、RMATION);m_pProof->Close();m_database.Close();return;/滿足條件/借書量加一m_pProof->Edit();m_pProof->m_Now_Borrow_Amount+;m_pProof->Update();m_pProof->Requery();m_pProof->Close();/Book_Info表中,現(xiàn)存數(shù)量減一strSQL.Format("select * from Book_Info where Book_ID='%s'",m_strBookID);CBoo
35、kSet *m_pBook=new CBookSet(&m_database);m_pBook->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);if(m_pBook->GetRecordCount()=0)MessageBox("Sorry, there is no this book in this library!","借書/還書",MB_ICONINFORMATION);m_pBook->Close();m_database.Close();return;m_pBook->Edit();m
36、_pBook->m_Now_Amount-;m_pBook->Update();m_pBook->Requery();m_pBook->Close();/將借書信息存入借書信息表中strSQL.Format("select * from Borrow_Info");CBorrowSet *m_pBorrow=new CBorrowSet(&m_database);m_pBorrow->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);if(m_pBorrow->GetRecordCount()=0)Mess
37、ageBox("There are no any borrowing information!","借書/還書",MB_OK|MB_ICONINFORMATION);m_pBorrow->AddNew();m_pBorrow->SetFieldNull(&(m_pBorrow->m_Proof_ID),FALSE);m_pBorrow->m_Proof_ID=m_strProofID;m_pBorrow->SetFieldNull(&(m_pBorrow->m_Book_ID),FALSE);m_pBo
38、rrow->m_Book_ID=m_strBookID;CTime curTime=CTime:GetCurrentTime();m_pBorrow->SetFieldNull(&(m_pBorrow->m_Borrow_Date),FALSE);m_pBorrow->m_Borrow_Date=curTime;m_pBorrow->Update();m_pBorrow->Requery();m_pBorrow->Close();m_database.Close();MessageBox("Borrowing Successfully
39、!","借書/還書",MB_OK|MB_ICONINFORMATION);RefreshData();void CBorrowDlg:OnButtonBack() if(m_database.IsOpen()m_database.Close();OnOK();void CBorrowDlg:OnClose() OnButtonBack();BOOL CBorrowDlg:OnInitDialog() CDialog:OnInitDialog();m_ctrList.InsertColumn(0,"借閱證號");m_ctrList.InsertC
40、olumn(1,"姓名");m_ctrList.InsertColumn(2,"性別");m_ctrList.InsertColumn(3,"書號");m_ctrList.InsertColumn(4,"書籍名稱");m_ctrList.InsertColumn(5,"借書日期");RECT rect;m_ctrList.GetWindowRect(&rect);int Width=rect.right-rect.left;m_ctrList.SetColumnWidth(0,Width
41、/6);m_ctrList.SetColumnWidth(1,Width/6);m_ctrList.SetColumnWidth(2,Width/6);m_ctrList.SetColumnWidth(3,Width/6);m_ctrList.SetColumnWidth(4,Width/6);m_ctrList.SetColumnWidth(5,Width/6);m_ctrList.SetExtendedStyle(LVS_EX_FULLROWSELECT);return TRUE; / return TRUE unless you set the focus to a control /
42、EXCEPTION: OCX Property Pages should return FALSEvoid CBorrowDlg:RefreshData()/刷新顯示if(!m_database.IsOpen()if(!m_database.Open(_T("Library")MessageBox("Cannot open database!","借書/還書");return;CString strSQL,m_strName,m_strBName,m_strBookNo,m_strSex;char buf50;CDBVariant v
43、arValue;/處理借閱證信息CProofSet *m_pProof=new CProofSet(&m_database);strSQL.Format("select * from Proof_Info where Proof_ID='%s'",m_strProofID);m_pProof->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);if(m_pProof->GetRecordCount()=0)MessageBox("Cannot read table Proof_Info",&qu
44、ot;借書/還書");m_pProof->Close();m_database.Close();return;m_pProof->GetFieldValue(1,varValue);m_strName=varValue.m_pstring->GetBuffer(1);m_pProof->GetFieldValue(2,varValue);m_strSex=varValue.m_pstring->GetBuffer(1);m_pProof->Close();/處理表格strSQL.Format("select * from Borrow_I
45、nfo where Proof_ID='%s'",m_strProofID);CBorrowSet *m_pBorrow=new CBorrowSet(&m_database);m_pBorrow->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);if(m_pBorrow->GetRecordCount()=0)MessageBox("Cannot get borrowing information!","借書/還書",MB_OK|MB_ICONINFORMATION);m_pBor
46、row->Close();m_database.Close();return;m_ctrList.DeleteAllItems();m_pBorrow->MoveFirst();int i=0;CBookSet *m_pBook=new CBookSet(&m_database);while(!m_pBorrow->IsEOF()m_ctrList.InsertItem(i,buf);m_ctrList.SetItemText(i,0,m_strProofID);m_ctrList.SetItemText(i,1,m_strName);m_ctrList.SetIte
47、mText(i,2,m_strSex);m_pBorrow->GetFieldValue(2,varValue);m_strBookNo=varValue.m_pstring->GetBuffer(1);m_ctrList.SetItemText(i,3,m_strBookNo);m_pBorrow->GetFieldValue(3,varValue);sprintf(buf,"%d-%d-%d %d:%d:%d",varValue.m_pdate->year,varValue.m_pdate->month,varValue.m_pdate-&
48、gt;day,varValue.m_pdate->hour,varValue.m_pdate->minute,varValue.m_pdate->second);m_ctrList.SetItemText(i,5,buf);strSQL.Format("select * from Book_Info where Book_ID='%s'",m_strBookNo);m_pBook->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);m_pBook->GetFieldValue(1,varValue);m_
49、ctrList.SetItemText(i,4,varValue.m_pstring->GetBuffer(1);m_pBook->Close();i+;m_pBorrow->MoveNext();m_pBorrow->Close();m_database.Close();void CBorrowDlg:OnButtonCheckBorrow() CCheckBorrowDlg dlg;dlg.m_strProofID=m_strProofID;dlg.DoModal();void CBorrowDlg:OnButtonReturn() UpdateData();if(
50、m_strProofID=""|m_strBookID="")MessageBox("輸入的域不完整,請重新輸入!","借書管理",MB_ICONERROR);m_strProofID.Empty();m_strBookID.Empty();UpdateData(FALSE);return;if(!m_database.IsOpen()if(!m_database.Open(_T("Library")MessageBox("Cannot access the database!&quo
51、t;,"借書管理");return;CString strSQL;/借書信息表中是否有借書人的信息strSQL.Format("select * from Borrow_Info where Proof_ID='%s' AND Book_ID='%s'",m_strProofID,m_strBookID);CBorrowSet *m_pBorrow=new CBorrowSet(&m_database);m_pBorrow->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);if(m_
52、pBorrow->GetRecordCount()=0)MessageBox("你并沒有借這本書!","借書/還書",MB_OK|MB_ICONINFORMATION);m_pBorrow->Close();m_database.Close();return;/借有這本書,刪除這條記錄信息。m_pBorrow->Delete();m_pBorrow->Close();/將借書人借書的總數(shù)減一strSQL.Format("select * from Proof_Info where Proof_ID='%s'", m_strProofID);CProofSet *m_pProof=new CProofSet(&m_database);m_pProof->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);if(m_pProof->GetRecordCount()=0)MessageBox("數(shù)據(jù)庫中沒有這個人!","借書/還書",MB_ICONINFORMATION);m_pProo
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國硅藻泥行業(yè)前景趨勢調(diào)研及發(fā)展戰(zhàn)略分析報告
- 2025-2030年中國真絲絲巾產(chǎn)業(yè)市場運行趨勢及投資戰(zhàn)略研究報告
- 2025-2030年中國電鎘行業(yè)發(fā)展?fàn)顩r及營銷戰(zhàn)略研究報告
- 陜西財經(jīng)職業(yè)技術(shù)學(xué)院《工業(yè)通風(fēng)與除塵技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 西昌學(xué)院《材料力學(xué)類》2023-2024學(xué)年第二學(xué)期期末試卷
- 泰州學(xué)院《分布式數(shù)據(jù)庫系統(tǒng)》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖南吉利汽車職業(yè)技術(shù)學(xué)院《橋梁施工技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海立達(dá)學(xué)院《廣告策劃與新媒體設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 蘇州幼兒師范高等??茖W(xué)校《醫(yī)學(xué)生物化學(xué)B》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖南電氣職業(yè)技術(shù)學(xué)院《高級數(shù)據(jù)庫技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 二零二五年度港口碼頭安全承包服務(wù)協(xié)議4篇
- 2024年蘇州衛(wèi)生職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫含答案解析
- 《歡樂運動會:1 我為班級出把力》說課稿-2024-2025學(xué)年四年級上冊綜合實踐活動滬科黔科版
- 2024年南京機(jī)電職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫標(biāo)準(zhǔn)卷
- 2025年中智集團(tuán)及下屬單位招聘筆試參考題庫含答案解析
- 廣東2025年高中化學(xué)學(xué)業(yè)水平考試模擬試卷試題(含答案詳解)
- 2024年中國牛排2市場調(diào)查研究報告
- 2025年事業(yè)單位考試(綜合管理類A類)綜合應(yīng)用能力試題及解答參考
- 科創(chuàng)板知識題庫試題及答案
- UL1450標(biāo)準(zhǔn)中文版-2019電動空氣壓縮機(jī)真空泵和涂裝設(shè)備中文版第四版
- “互聯(lián)網(wǎng)+”大學(xué)生創(chuàng)新創(chuàng)業(yè)大賽計劃書一等獎
評論
0/150
提交評論