




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、遼 寧 工 業(yè) 大 學 可視化編程技術 課程設計(論文)題目: 銀行存取款管理系統(tǒng) 院(系): 軟件學院 專業(yè)班級: 學 號: 學生姓名: 指導教師: 教師職稱: 助 教 起止時間:2012.11.26至2012.12.9 課程設計(論文)任務及評語院(系):軟件學院 教研室:軟件教研窒學 號學生姓名專業(yè)班級課程設計(論文)題目銀行存取款管理系統(tǒng)課程設計(論文)任務課程設計任務及要求:1、掌握VB程序設計語言的基礎知識。2、設計所選擇的題目,對具體功能進行詳細的分析,根據(jù)系統(tǒng)的要求在VB中設計窗體界面,使其合理化。3、了解VB與數(shù)據(jù)庫的連接方法。4、編寫代碼,實現(xiàn)系統(tǒng)的功能。5、通過調(diào)試程序,
2、加深對VB編程的基本技巧及方法的理解。課程設計過程中,要嚴格遵守實踐環(huán)節(jié)的時間安排,聽從指導教師的指導。正確地完成上述內(nèi)容,記錄實習日記,規(guī)范完整地撰寫出課程設計論文。指導教師評語及成績成績: 指導教師簽字: 2012 年 12 月 13日目 錄第1章 課程設計目的與要求11.1 課程設計目的1 課程設計的實驗環(huán)境1 課程設計的預備知識1 課程設計要求1第2章 課程設計內(nèi)容2 系統(tǒng)功能設計22.2 系統(tǒng)詳細設計2.3 系統(tǒng)運行與測試第3章 課程設計總結參考文獻課程設計目的與要求1.1 課程設計目的本課程的課程設計實際是學生學習完可視化編程技術課程后,進行的一次全面的綜合訓練,其目的在于加深對可
3、視化編程技術基本知識的理解,掌握運用VB開發(fā)應用程序的基本方法及基本技巧。 課程設計的實驗環(huán)境硬件要求能運行Windows 9.X操作系統(tǒng)的微機系統(tǒng)。軟件:Microsoft Microsoft Access 2003 課程設計的預備知識熟悉的基本語法知識及常用技巧。 課程設計要求按課程設計指導書提供的課題,每個小組設計一個完整的管理系統(tǒng)應用程序。要求根據(jù)規(guī)定設計系統(tǒng)的具體要求,按照應用程序的設計步驟和VB的基本知識應用程序的分析與實現(xiàn)。應根據(jù)基本學時分配合理安排設計時間,并獨立完成各方面的設計。選擇同一題目的同學,可以共同協(xié)作完成一個應用程序的開發(fā)任務。要求書寫詳細的設計說明書,對有復雜的代
4、碼段和程序段的部分,應畫出程序流程圖,寫出全部的代碼。在界面設計中,需畫出每個窗體的布局,進行屬性說明,杜絕雷同。課程設計內(nèi)容系統(tǒng)功能設計 系統(tǒng)功能以VB+Access組合,實現(xiàn)銀行系統(tǒng)活期存取款管理,要按現(xiàn)有的實際利率計算利息,儲戶數(shù)據(jù)表至少應包括:帳號、用戶名稱、身份證號、密碼、存取款日期、支出或存入金額(存入為正,支出為負,初值為0)、結余金額(初值為0)等,限在取款時才計算利息并轉(zhuǎn)入存款本金。在數(shù)據(jù)表中每一次存取款都重新生成一條新記錄,這樣數(shù)據(jù)表中保存著歷史存取款信息,可供查詢。分析模擬銀行銀行存取款管路程序,主要有“添加刪除儲戶信息”,“查詢修改出乎信息”,“錄入用戶存取款記錄”,“
5、計算儲戶利息”共四項。系統(tǒng)可在用戶取款時計算其活期存款利息(每天按0.2%計算利息)。要求:(1)在Access中創(chuàng)建“儲戶信息”表,由所有儲戶信息構成,此表結構定義如下:賬號,用戶名稱,身份證號,密碼,結余金額,存取款日期,存入金額,取出金額。(2)能隨時添加新儲戶或刪除原有儲戶。(3)能隨時修改已存入儲戶的信息。(4)能隨時查看指定儲戶的信息(包括其存取款記錄)(5)能將儲戶當前存款金額加入儲戶本金。(6)能在儲戶取款時計算利息并存入本金。 系統(tǒng)功能模塊設計開始連接數(shù)據(jù)庫添加刪除數(shù)據(jù)查詢數(shù)據(jù)更改數(shù)據(jù)新建儲戶刪除儲戶添加儲戶存款取款信息顯示儲戶存取款信息修改儲戶身份信息圖2.1系統(tǒng)功能模塊圖
6、系統(tǒng)詳細設計銀行存取款管理系統(tǒng)模塊設計(1)基本原理:建立程序設計與Access數(shù)據(jù)庫連接,用SQL語句實現(xiàn)程序?qū)?shù)據(jù)庫查找,添加,刪除,更改。查找:調(diào)用ADO控件的RecrodSource屬性,確定具體可訪問數(shù)據(jù)來源,用select語句進行查找。添加:調(diào)用AddNew方法,在記錄集中加入一條新數(shù)據(jù),再用Update方法更新修改。刪除:調(diào)用Delete方法,刪除記錄集中已選定的一條數(shù)據(jù)。修改:用ADO控件將命令文本與數(shù)據(jù)庫中其對應的數(shù)據(jù)綁定,在文本框中修改,并用Update更新,對數(shù)據(jù)庫數(shù)據(jù)進行修改。 (2)總體設計:ADO控件連接Access數(shù)據(jù)庫SQL語言實現(xiàn)修改Private Sub c
7、haxun_Click() 查詢信息End SubPrivate Sub chuhu_Click() 添加新儲戶End SubPrivate Sub cunkuan_Click() 存取款End SubPrivate Sub tuichu_Click() 退出 EndEnd SubPrivate Sub xiugai_Click() 修改儲戶信息End Sub 銀行存取款管理系統(tǒng)模塊設計1)使程序與數(shù)據(jù)庫連接,實現(xiàn)程序?qū)?shù)據(jù)庫的修改與查詢: 利用ADO控件建立聯(lián)系,通過修改命令文本框的DataSource和DataField屬性,使命令文本框與數(shù)據(jù)庫綁定;通過修改DataGrid的DataSo
8、urce屬性,使數(shù)據(jù)庫的所有信息顯示在窗體中。 (2)通過對主窗體菜單的Click打開“添加刪除新儲戶”、“儲戶信息”、“存款與取款”窗體。Private Sub Command1_Click(Index As Integer) Dim ask As Integer Select Case Index Case 0 添加 Adodc1.Recordset.AddNew 添加新用戶 Case 1 刪除 ask = MsgBox(是否刪除已有儲戶信息!, vbYesNo) If ask = 6 Then Adodc1.Recordset.Delete 刪除當前數(shù)據(jù) Adodc1.Recordset
9、.MoveNext 下一條記錄 If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast 如果讀 到數(shù)據(jù)尾部,指針定義到最后一條記錄 End If Case 2 更新 Adodc1.Recordset.Update 確定當前修改并保存到數(shù)據(jù)源 Case 3 放棄 Adodc1.Recordset.CancelUpdate 取消Update對記錄的修改 End SelectEnd SubPrivate Sub Command2_Click(Index As Integer) Select Case Index Case 0 首記錄 Adodc1
10、.Recordset.MoveFirst 讀取數(shù)據(jù)庫首記錄 Case 1 上一條 If Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst 讀取上一條記錄 Case 2 下一條 If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast 讀取下一條記錄 Case 3 尾記錄 Adodc1.Recordset.MoveLast 讀取數(shù)據(jù)庫尾記錄 End SelectEnd SubPrivate Sub Command3_Click() 結束 Unload Me 結束當前窗體 Form1.Sho
11、w 返回主窗體End Sub窗體-儲戶添加與刪除: (4)查詢儲戶信息是SQL語句在數(shù)據(jù)庫中按用戶名稱查詢其身份信息和存取款信息。SelectFromWhere程序段如下:Private Sub Command1_Click() 查詢 If Text1 Then 設置數(shù)據(jù)源 Adodc1.RecordSource = Select * From 儲戶信息 Where 用戶名稱 = & Text1 & 確定訪問數(shù)據(jù)來源,并選擇出用戶名為文本框中名稱的所有數(shù)據(jù) Else Adodc1.RecordSource = Select * From 儲戶信息 對于未指定信息查詢 End If Adodc1
12、.Refresh 刷新ADO控件的連接屬性并重新建立記錄集對象End Sub窗體-查詢:(5)修改儲戶信息是對數(shù)據(jù)庫中儲戶的身份信息進行修改。程序段如下:Private Sub Command1_Click(Index As Integer) Select Case Index Case 0 首記錄 Adodc1.Recordset.MoveFirst 讀取數(shù)據(jù)庫第一條記錄 Case 1 上一條 Adodc1.Recordset.MovePrevious 讀取上一條記錄 If Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst 如果當前為數(shù)
13、據(jù)源開始,指針定義到第一條數(shù)據(jù) Case 2 下一條 Adodc1.Recordset.MoveNext 讀取下一條記錄 If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast 如果當前為數(shù)據(jù)源尾部,指針定義到最后一條數(shù)據(jù) Case 3 尾記錄 Adodc1.Recordset.MoveLast 讀取數(shù)據(jù)庫最后一條記錄 End SelectEnd SubPrivate Sub Command2_Click() 更新 Adodc1.Recordset.Update 確定修改并保存到數(shù)據(jù)源End SubPrivate Sub Command3_
14、Click() 返回 Unload Me 關閉當前窗體 Form1.Show 返回主窗體End Sub窗體-修改儲戶信息:(6)存款與取款是新加一條關于當前儲戶的一條存款或取款信息。程序段如下:Private Sub Command1_Click() 確定 Adodc1.Recordset.Update 保存修改End SubPrivate Sub Command2_Click() 返回 Unload Me 關閉當前窗體 Form1.Show 返回主窗體End SubPrivate Sub Command3_Click() 輸入 Adodc1.Recordset.AddNew 添加新數(shù)據(jù)End
15、 SubPrivate Sub Command4_Click() 存入 Dim a, b As Long, c% 定義a、b為長整型 b = Text1.Text 將賬號賦值到b Adodc1.Recordset.Find 賬號= & b & 從記錄首部開始查找賬號為b的那一條數(shù)據(jù) If Adodc1.Recordset.EOF Then MsgBox 無此賬號!, , 提示 如果查找到記錄尾部還是沒有此賬號,則彈出提示窗口 Else a = Adodc1.Recordset.Fields(結余金額) 在已找到那條數(shù)據(jù)中找到結余金額數(shù)據(jù),并將此數(shù)據(jù)賦值給a Text8.Text = Val(T
16、ext5.Text) + a 當前存入金額加此賬戶上一次的結余金額計算出新的結余金額 End IfEnd SubPrivate Sub Command5_Click() 取出 Dim x, y, z, m&, e, f As Long Dim n As Date 定義n、p為日期,形式為“YYYY-MM-DD” Dim p As Date m = Text1.Text 將賬號賦值到m Adodc1.Recordset.Find 賬號= & m & 從記錄首部開始查找賬號為m的那一條數(shù)據(jù) n = Adodc1.Recordset.Fields(存取款日期) 在已找到那條數(shù)據(jù)中找到存取從記錄首部開
17、始查找賬號為m的那一條數(shù)據(jù) p = Text7.Text 將當前取款日期賦值給p z = DateDiff(d, n, p) 計算當前取款日期與上一次存取款日期的天數(shù)之差 Adodc1.Recordset.Find 賬號= & m & 從記錄首部開始查找賬號為m的那一條數(shù)據(jù) f = Adodc1.Recordset.Fields(結余金額) 在已找到那條數(shù)據(jù)中找到結余金額數(shù)據(jù),并將此數(shù)據(jù)賦值給f x = Val(Text6.Text) 將當前取出金額賦值給x,將文本框中的數(shù)字字符串改為數(shù)值 y = f * 0.0002 * z + f - x 計算利息并將利息假如本金再減去取出金額計算出此次取
18、款的結余金額,將結余金額賦值給y Text8.Text = y 將y值寫入到第八個文本框End Sub窗體-存款與取款:完整的源程序Form1:(主窗體)Private Sub chaxun_Click() End SubPrivate Sub chuhu_Click()End SubPrivate Sub cunkuan_Click() End SubPrivate Sub tuichu_Click() EndEnd SubPrivate Sub xiugai_Click()End SubForm2:(添加刪除儲戶)Private Sub Command1_Click(Index As In
19、teger) Dim ask As Integer Select Case Index Case 0 Adodc1.Recordset.AddNew Case 1 ask = MsgBox(是否刪除已有儲戶信息!, vbYesNo) If ask = 6 Then Adodc1.Recordset.Delete Adodc1.Recordset.MoveNext If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast End If Case 2 Adodc1.Recordset.Update Case 3 放棄 Adodc1.Records
20、et.CancelUpdate End SelectEnd SubPrivate Sub Command2_Click(Index As Integer) Select Case Index Case 0 Case 1 If Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst Case 2 If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast Case 3 Adodc1.Recordset.MoveLast End SelectEnd SubPrivate Sub Command3_C
21、lick() Unload Me Form1.Show End SubForm3:(查詢)Private Sub Command1_Click() If Text1 Then Adodc1.RecordSource = Select * From 儲戶信息 Where 用戶名稱 = & Text1 & Else Adodc1.RecordSource = Select * From 儲戶信息 End IfEnd SubForm4:(修改)Private Sub Command1_Click(Index As Integer) Select Case Index Case 0 Case 1 Ad
22、odc1.Recordset.MovePrevious Case 2 Adodc1.Recordset.MoveNext If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast Case 3 Ado.MoveLast End SelectEnd SubPrivate Sub Command2_Click() Adodc1.Recordset.Update End SubPrivate Sub Command3_Click() Unload Me Form1.Show End SubForm5:(存款與取款)Private Sub Comma
23、nd1_Click()End SubPrivate Sub Command2_Click() Unload MeEnd SubPrivate Sub Command3_Click()End SubPrivate Sub Command4_Click() Dim a, b As Long, c% Adodc1.Recordset.Find 賬號= & b & If Adodc1.Recordset.EOF Then MsgBox 無此賬號!, , 提示 Else a = Adodc1.Recordset.Fields(結余金額) Text8.Text = Val(Text5.Text) + a
24、End IfEnd SubPrivate Sub Command5_Click() Dim x, y, z, m&, e, f As Long Dim n As Date Dim p As Date Adodc1.Recordset.Find 賬號= & m & n = Adodc1.Recordset.Fields(存取款日期) z = DateDiff(d, n, p) Adodc1.Recordset.Find 賬號= & m & f = Adodc1.Recordset.Fields(結余金額) x = Val(Text6.Text) y = f * 0.0002 * z + f -
25、x Text8.Text = yEnd Sub 數(shù)據(jù)庫訪問技術在ASP中可以通過三種方式訪問數(shù)據(jù)庫:1、IDC(Internet Database Connector)方式;2、ADO(ActiveX Data Objects)方式;3、RDS(Remote Data Service)方式。這三種訪問方式對數(shù)據(jù)庫的訪問都是由Internet Information Server完成的。通過Web瀏覽器用 協(xié)議向IIS(Internet信息服務器)發(fā)送請求,IIS執(zhí)行對數(shù)據(jù)庫的訪問,并返回一個HTML格式的文檔響應。下面分別說明:1、IDC(Internet數(shù)據(jù)庫接口)IDC是一個傳統(tǒng)的數(shù)據(jù)庫查
26、詢工具,用來定義和執(zhí)行數(shù)據(jù)庫查詢的SQL命令,并向瀏覽器返回一個指定數(shù)據(jù)格式的頁面。使用IDC訪問數(shù)據(jù)庫最大的特點是簡單,幾乎不需要編程就能實現(xiàn)對數(shù)據(jù)庫的訪問。IDC使用兩種文件來控制如何訪問數(shù)據(jù)庫以及如何創(chuàng)建返回的Web頁面:IDC (.idc)文件和HTML擴展(.htx)文件。.idc文件必須包括ODBC數(shù)據(jù)源(Datasource)、HTML擴展文件的文件名(Template)以及要執(zhí)行的SQL語句(SQLStatement)。此外還有許多可選字段,可以根據(jù)需要選用。.htx文件是帶有用或括起來的附加標記的HTML文檔,IDC用這些標記將動態(tài)數(shù)據(jù)添加到文檔中。在.htx文件中有六個關鍵
27、字(begindetail、enddetail、if、else、endif和%z),用來控制數(shù)據(jù)庫中的數(shù)據(jù)怎樣和.htx文件中HTML格式進行合并。數(shù)據(jù)庫列名說明HTML文檔中什么數(shù)據(jù)被返回。要執(zhí)行IDC查詢,通常的做法是在HTML文件中嵌入一個.idc文件的連接。例如,我們可用下面的HTML語句向Web服務器發(fā)出請求,要求執(zhí)行idctest.idc文件:查詢 當Web服務器接到請求后,就調(diào)用 odbc.dll(IDC),與一定的數(shù)據(jù)源相連并把SQL命令傳給數(shù)據(jù)庫。當SQL語句被執(zhí)行后,IDC把返回的數(shù)據(jù)融入到.htx文件中。IDC再把這個文檔返回給Web服務器,Web服務器再返回給瀏覽器。2
28、、ADO(ActiveX數(shù)據(jù)對象) ADO訪問數(shù)據(jù)庫,更像編寫數(shù)據(jù)庫應用程序。它把絕大部分的數(shù)據(jù)庫操作封裝在七個對象中,在ASP頁面中編程調(diào)用這些對象執(zhí)行相應的數(shù)據(jù)庫操作。ADO是ASP技術的核心之一,它集中體現(xiàn)了ASP技術豐富而靈活的數(shù)據(jù)庫訪問功能。ADO建立了基于Web方式訪問數(shù)據(jù)庫的腳本編寫模型,不僅支持任何大型數(shù)據(jù)庫的核心功能,而且支持許多數(shù)據(jù)庫所專有的特性。ADO使用本機數(shù)據(jù)源,通過ODBC訪問數(shù)據(jù)庫。這些數(shù)據(jù)庫可以是關系型數(shù)據(jù)庫、文本型數(shù)據(jù)庫、層次型數(shù)據(jù)庫或者任何支持ODBC的數(shù)據(jù)庫。主要優(yōu)點是易用、高速、占用內(nèi)存和磁盤空間少,所以非常適合于作為服務器端的數(shù)據(jù)庫訪問技術。相對于訪問
29、數(shù)據(jù)庫的CGI程序而言,它是多線程的,在出現(xiàn)大量并發(fā)請求時,也同樣可以保持服務器的運行效率,并且通過連接池(Connection Pool)技術以及對數(shù)據(jù)庫連接資源的完全控制,提供與遠程數(shù)據(jù)庫的高效連接與訪問,同時它還支持事務處理(Transaction),以開發(fā)高效率、高可靠性的數(shù)據(jù)庫應用程序。 一般使用ADO訪問數(shù)據(jù)庫的ASP腳本程序應該使用Connection對象建立并管理與遠程數(shù)據(jù)庫的連接,用Command對象提供靈活的查詢,用Recordset對象訪問數(shù)據(jù)庫查詢所返回的結果。這三者是ADO的最核心的對象。與IDC一樣,運行該數(shù)據(jù)庫訪問腳本的通常做法是在HTML文件中嵌入一個.asp文
30、件的連接。如,用HTML語句向Web服務器發(fā)出請求,要求執(zhí)行intels.asp文件:查詢 3、RDS(遠程數(shù)據(jù)服務) RDS在IIS 4.0中,與ADO集成到一起,使用同樣的編程模型,提供訪問遠程數(shù)據(jù)庫的功能。ADO雖然能夠提供非常強大的數(shù)據(jù)庫訪問功能,但是它不支持數(shù)據(jù)遠程操作(Data Remoting)。它只能執(zhí)行查詢并返回數(shù)據(jù)庫查詢的結果,這種結果是靜態(tài)的,服務器上的數(shù)據(jù)庫與客戶端看到的數(shù)據(jù)沒有活的連接關系。如果用戶端需要修改數(shù)據(jù)庫,就必須構造修改數(shù)據(jù)的SQL語句,并執(zhí)行相應的查詢。而RDS支持數(shù)據(jù)遠程操作。它不僅能執(zhí)行查詢并返回數(shù)據(jù)庫查詢結果,而且可以把服務器端的數(shù)據(jù)“搬到”用戶端修改,并調(diào)用一個數(shù)據(jù)庫更新命令,將用戶端修改的數(shù)據(jù)寫回數(shù)據(jù)庫,象使用本地數(shù)據(jù)庫一樣。RDS的底層是調(diào)用ADO來完成的,同樣具有ADO的易用性,區(qū)別僅在于RDS需要與數(shù)據(jù)綁定控件一同使用,比如Sheridan的ActiveX DataBound Grid控件。RDS在ADO的基礎上通過綁定的數(shù)據(jù)顯示和操作控件,提供給客戶端更強的數(shù)據(jù)表現(xiàn)力和遠程數(shù)據(jù)操縱功能??梢哉fRDS是目前基于Web的最好的遠程數(shù)據(jù)庫訪問方式2.3 系統(tǒng)運行與測試黑盒測試:等價類劃
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45594-2025超高性能混凝土非承重構件性能試驗方法
- GB/T 45514-2025紡織品定量化學分析聚芳酯纖維與某些其他纖維的混合物
- 材料能源物理重點基礎知識點
- 電子氣體 六氟化鎢 征求意見稿
- 行政法學多樣化試題及答案分析
- 綠色政策在經(jīng)濟建設中的重要性試題及答案
- 遏制通貨膨脹政策與經(jīng)濟增長的互動試題及答案
- 2025年用戶體驗設計試題及答案
- 小學發(fā)生大火災應急預案(3篇)
- 網(wǎng)絡監(jiān)控和維護試題及答案
- 《揭開貨幣神秘面紗》課件
- 商業(yè)銀行業(yè)務與經(jīng)營練習題
- 系統(tǒng)云遷移方案
- 山東省醫(yī)院護理服務質(zhì)量評價細則
- HSK六級真題與答案下載(第一套)
- 工程量確認單
- CISP-PTE認證培訓考試復習題庫(附答案)
- 無機化學之錫鉛重要化合物介紹課件
- 分析色覺檢查圖讓色弱色盲不再痛苦
- 初三綜合素質(zhì)評價自我陳述報告(16篇)
- 酒店住宿水單模板1
評論
0/150
提交評論