數(shù)據(jù)庫課程設計報告--銀行管理系統(tǒng)_第1頁
已閱讀1頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  摘 要</b></p><p>  銀行管理系統(tǒng)在無論在網(wǎng)絡上,還是各種管理系統(tǒng)軟件的資料上都有講解,而且均非常詳細,其難度也可想而知。這次課程設計時間緊迫,另外作者本身能力也十分有限,只能完成銀行管理系統(tǒng)中的少量功能,所以該系統(tǒng)還有很多有待擴充及完善的地方,有不妥善的地方還請老師指點。這次課程設計只是達到訓練、牢固知識的目的,熟悉數(shù)據(jù)庫的前臺和后臺編程、VC

2、++的控件、如何訪問數(shù)據(jù)庫等方面的知識,所以實現(xiàn)的功能也很有限,待以后隨著知識的積累,慢慢地擴充完善該系統(tǒng)。</p><p>  本系統(tǒng)采用了可視化的集成開發(fā)環(huán)境Visual C++ 6.0編輯用戶操作界面、以SQL Sever為后臺數(shù)據(jù)庫并以CRecordSet類訪問數(shù)據(jù)庫信息的管理系統(tǒng),該系統(tǒng)能夠完成用戶帳號的建立、用戶存取款、數(shù)據(jù)備份與恢復等基本功能。</p><p>  關鍵字:S

3、QL數(shù)據(jù)庫、SQL語言、VC++、銀行管理系統(tǒng)</p><p><b>  目 錄</b></p><p><b>  1 緒論</b></p><p>  1.1 選題目的及意義……………………………………………1</p><p>  1.2 設計內(nèi)容……………………………………………………

4、1</p><p><b>  2 需求分析</b></p><p>  2.1 功能需求……………………………………………………1</p><p>  2.2 數(shù)據(jù)需求……………………………………………………1</p><p>  2.3 其他需求……………………………………………………1</p><

5、;p><b>  3數(shù)據(jù)庫設計</b></p><p>  3.1概念結(jié)構設計………………………………………………2</p><p>  3.2邏輯結(jié)構設計………………………………………………2</p><p>  3.3物理結(jié)構設計………………………………………………2</p><p>  4 系統(tǒng)功能設計………

6、……………………………………………4</p><p><b>  5 系統(tǒng)實現(xiàn)</b></p><p>  5.1 開發(fā)環(huán)境………………………………………………4</p><p>  5.2 主要功能的運行結(jié)果及代碼…………………………4</p><p>  6 總結(jié)…………………………………………………………18<

7、;/p><p><b>  參考文獻</b></p><p><b>  1 緒論</b></p><p>  1.1選題的目的及意義</p><p>  銀行管理系統(tǒng):該系統(tǒng)要求建立的用戶表并不是很多,完成的功能也相對有限,但其中各個表之間的聯(lián)系很緊密,該系統(tǒng)對數(shù)據(jù)庫表的設計要求會很高,所以完成這個題

8、目,能更好的訓練數(shù)據(jù)庫設計和java的編程能力,選擇該題目就是充分訓練數(shù)據(jù)庫表設計的能力和運用java的能力。</p><p><b>  1.2 設計內(nèi)容</b></p><p>  用戶管理模塊:建立新用戶、刪除老用戶、更改用戶操作;</p><p>  賬戶操作模塊:賬戶信息、活期存取款操作、查詢活期操作記錄、定期存款、定期取款、查詢定期

9、操作記錄;</p><p>  數(shù)據(jù)庫模塊:數(shù)據(jù)庫備份、數(shù)據(jù)庫恢復;</p><p><b>  需求分析</b></p><p><b>  功能需求</b></p><p>  對于用戶部分,能夠新建和刪除用戶,在操作過程中可以更改用戶;對于商品部分,可以查詢商品的信息,包括各種商品信息、商品單

10、價、商品名單等;對于用戶操作部分,有用戶登錄,用戶注冊操作,另外操作完成之后存儲相應的操作記錄并能夠查詢操作記錄等功能。</p><p><b>  數(shù)據(jù)需求</b></p><p>  賬戶信息:帳號varchar(20),開戶人姓名varchar(20),賬戶密碼char(6),身分證號varchar(20),賬戶余額float,開戶日期datetime,開戶地址

11、varchar(30);</p><p>  活期操作:帳號varchar(20),金額float,類型(存入,支出),賬戶余額float,利息float,存入日期datetime;</p><p>  定期存款:帳號varchar(20),存款人姓名varhcar(10),存款金額float,存款日期datetime,存儲年份int,存儲利率float;</p><p

12、>  定期取款:帳號varchar(20),取款人姓名varhcar(10),取款金額float,取款日期datetime;</p><p>  定期歷史操作記錄:帳號varchar(20),存取款人姓名varhcar(10),類型(存入,支出),辦理日期datetime,存儲年份int,存儲利率float;</p><p><b>  其它需求</b><

13、/p><p>  完成數(shù)據(jù)庫的備份與恢復,系統(tǒng)登錄對話框等功能。</p><p><b>  3. 數(shù)據(jù)庫設計</b></p><p><b>  3.1概念結(jié)構設計</b></p><p>  銀行管理系統(tǒng)E-R圖</p><p>  3.2 邏輯結(jié)構設計</p>

14、<p>  儲戶(帳號,姓名,密碼,身份證號,性別,帳戶余額,開戶日期,開戶地址);</p><p>  活期存取款(nID,帳號,金額,類型,辦理日期,利息,賬戶余額);</p><p>  定期存款(nID,帳號,存款人姓名,金額,存儲年份,年利率,存儲日期);</p><p>  定期取款(nID,帳號,取款人姓名,取款金額,取款日期);</

15、p><p>  定期記錄(nID,帳號,存取款人姓名,類型,操作金額,年份,操作日期)</p><p>  3.3 物理結(jié)構設計</p><p><b>  儲戶表</b></p><p><b>  主鍵:帳號;</b></p><p>  約束條件:各屬性均非空,密碼長度為6

16、位;</p><p><b>  活期存取款表</b></p><p>  主鍵:nID;外鍵:帳號;被參照表:儲戶表</p><p>  約束條件:各屬性均非空;</p><p><b>  定期存款表</b></p><p>  主鍵:nID;外鍵:帳號;被參照表:儲戶表

17、</p><p>  約束條件:各屬性均非空;</p><p><b>  定期取款表</b></p><p>  主鍵:nID;外鍵:nID;被參照表:定期存款表</p><p>  約束條件:各屬性非空</p><p><b>  定期操作記錄表</b></p>

18、;<p>  主鍵:nID;外鍵:nID;被參照表:定期存款表,定期取款表</p><p>  約束條件:各屬性非空</p><p><b>  4.系統(tǒng)功能設計</b></p><p>  圖4-1銀行管理系統(tǒng)功能結(jié)構圖</p><p><b>  5 .系統(tǒng)實現(xiàn)</b></p

19、><p>  5.1 系統(tǒng)開發(fā)環(huán)境</p><p>  軟件:SQL Sever 2000,VC++6.0</p><p>  操作系統(tǒng):Window XP</p><p>  硬件:Pentiun 4 DDR 512MB 120G硬盤</p><p>  5.2主要功能的運行結(jié)果及代碼</p><p&

20、gt;  數(shù)據(jù)庫創(chuàng)建過程及其連接</p><p>  (1).進入企業(yè)管理器窗口,選擇“新建SQL Sever注冊”;</p><p>  (2).選中“數(shù)據(jù)庫”文件夾,單擊鼠標右鍵,選擇“新建數(shù)據(jù)庫”,輸入數(shù)據(jù)庫名Bank;</p><p>  (3).單擊“確定”按鈕,關閉對話框,數(shù)據(jù)庫創(chuàng)建成功。</p><p>  完成“賬戶登錄”的窗

21、口</p><p>  添加記錄集類CAccountSet類,基類為CRecordSet,數(shù)據(jù)表為account表;</p><p>  (2) 在CLoginDlg類中添加CAccontSet類的成員變量m_recordset;</p><p>  (3) 為“CBankApp”類添加為CString型的成員變量strNO;</p><p>

22、;  (4) IDOK控件的消息響應函數(shù):</p><p>  void CLoginDlg::OnOK() </p><p><b>  {</b></p><p>  UpdateData(TRUE);</p><p>  if (m_strNo == "")</p><p&g

23、t;<b>  {</b></p><p>  MessageBox("Please Input the Account Number!");</p><p>  m_ctrNo.SetFocus();</p><p><b>  return ;</b></p><p><

24、;b>  }</b></p><p>  if (m_strPassword == "")</p><p><b>  {</b></p><p>  MessageBox("Please Input the Password!");</p><p>  m_ct

25、rPassword.SetFocus();</p><p><b>  return ;</b></p><p><b>  }</b></p><p>  if (m_strRePassword == "")</p><p><b>  {</b><

26、/p><p>  MessageBox("Please Input the Confirm Password!");</p><p>  m_ctrRePassword.SetFocus();</p><p><b>  return ;</b></p><p><b>  }</b>

27、;</p><p>  if (m_strPassword != m_strRePassword)</p><p><b>  {</b></p><p>  MessageBox("Two Passwords Are Differed!");</p><p>  m_strPassword = &q

28、uot;";</p><p>  m_strRePassword = "";</p><p>  UpdateData(FALSE);</p><p>  m_ctrPassword.SetFocus();</p><p><b>  return ;</b></p><

29、p><b>  }</b></p><p>  CString strSQL;</p><p>  strSQL.Format("select * from Account where CNo = '%s'",m_strNo);</p><p>  if (!m_recordset.Open(AFX_D

30、B_USE_DEFAULT_TYPE,strSQL))</p><p><b>  {</b></p><p>  MessageBox("Open Database Filed!","Database Error",MB_OK);</p><p><b>  return ;</b>

31、;</p><p><b>  }</b></p><p>  if (m_recordset.m_CPassword != m_strPassword)</p><p><b>  {</b></p><p>  MessageBox("Password Error! Please Re

32、write!");</p><p>  m_recordset.Close();</p><p>  m_strPassword = "";</p><p>  m_strRePassword = "";</p><p>  UpdateData(FALSE);</p><

33、p>  m_ctrPassword.SetFocus();</p><p><b>  return ;</b></p><p><b>  }</b></p><p>  CBankApp * ptheApp = (CBankApp *) AfxGetApp();</p><p>  pth

34、eApp->strNo = m_strNo;</p><p>  CDialog::OnOK();</p><p><b>  }</b></p><p>  (5) 在“CBankApp”類中的“InitInstance()”函數(shù)中添加登錄對話框的對象:</p><p>  CLoginDlg dlg;</

35、p><p>  if (dlg.DoModal() != IDOK)</p><p><b>  {</b></p><p>  return FALSE;</p><p><b>  }</b></p><p>  完成“創(chuàng)建新帳戶”的窗口:</p><p&

36、gt;  在CAccountDlg類中添加CAccontSet類的成員變量m_recordset;</p><p>  添加記錄集類CCurrentSet類,基類為CRecordSet,數(shù)據(jù)表為current表;</p><p>  添加初始化對話框OnInitDialog()方法:</p><p>  BOOL CAccountDlg::OnInitDialog(

37、) </p><p><b>  {</b></p><p>  CDialog::OnInitDialog();</p><p>  m_tmDate = CTime::GetCurrentTime();</p><p>  m_ctrSex.AddString("男");</p>&

38、lt;p>  m_ctrSex.AddString("女");</p><p>  UpdateData(FALSE);</p><p>  return TRUE; </p><p><b>  }</b></p><p>  IDOK控件的消息響應函數(shù),完成對帳戶表和活期存取款表的記錄添

39、加。</p><p>  完成“刪除帳戶”的功能:</p><p>  在CMainFrame類中添加菜單的消息響應函數(shù),找到當前用戶在賬戶表中的記錄,并且判斷該帳戶是否還有活期存款和定期存款,如果有記錄,則無法刪除帳戶。</p><p>  void CMainFrame::OnDeleteAccount() </p><p><b&

40、gt;  {</b></p><p>  // TODO: Add your command handler code here</p><p>  CBankApp * ptheApp = (CBankApp *) AfxGetApp();</p><p>  CString strSQL;</p><p>  strSQL.F

41、ormat("select * from Account where CNo = '%s'",ptheApp->strNo);</p><p>  CAccountSet recordset;</p><p>  if (!recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))</p><

42、p><b>  {</b></p><p>  MessageBox("Open Database Filed!","Database Error",MB_OK);</p><p><b>  return ;</b></p><p><b>  }</b>

43、;</p><p>  if (MessageBox("確定刪除該用戶?","提示",MB_YESNO) == IDYES)</p><p><b>  {</b></p><p>  if (recordset.m_CBalance != 0)</p><p><b>

44、  {</b></p><p>  recordset.Close();</p><p>  MessageBox("用戶賬戶中活期存款仍存有余額,無法進行銷戶!");</p><p><b>  return ;</b></p><p><b>  }</b><

45、;/p><p>  CTimeDepositSet tds;</p><p>  CString strRecord;</p><p>  strRecord.Format("select * from TimeDeposit where CNo = '%s'",ptheApp->strNo);</p><p

46、>  if (!tds.Open(AFX_DB_USE_DEFAULT_TYPE,strRecord))</p><p><b>  {</b></p><p>  recordset.Close();</p><p>  MessageBox("Open Database Filed!","Databas

47、e Error",MB_OK);</p><p><b>  return ;</b></p><p><b>  }</b></p><p>  if (tds.GetRecordCount() != 0)</p><p><b>  {</b></p>

48、<p>  recordset.Close();</p><p>  tds.Close();</p><p>  MessageBox("用戶賬戶中仍存有定期賬目,無法銷戶!");</p><p><b>  return ;</b></p><p><b>  }</

49、b></p><p>  recordset.Delete();</p><p>  recordset.Requery();</p><p>  recordset.Close();</p><p>  MessageBox("用戶賬戶刪除成功!");</p><p><b>  

50、}</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  recordset.Close();</p><p><b>  return ;</b></p><p><b>

51、;  }</b></p><p><b>  }</b></p><p>  完成“退出系統(tǒng)”的功能:</p><p>  在CMainFrame類中添加菜單的消息響應函數(shù):</p><p>  void CMainFrame::OnExit() </p><p><b> 

52、 {</b></p><p>  if (MessageBox("確定退出該系統(tǒng)?","提示",MB_YESNO) == IDYES)</p><p><b>  {</b></p><p>  PostQuitMessage(1);</p><p><b>

53、  return ;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  完成“查詢賬戶信息”的功能:</p><p>  (1)添加初始化對話框OnInitDialog()響應函數(shù),初始化對話框信息;</p><

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論