2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  可視化編程技術(shù) 課程設(shè)計(jì)(論文)</p><p>  題目: 銀行存取款管理系統(tǒng) </p><p>  院(系): 軟件學(xué)院 </p><p>  專業(yè)班級(jí): </p><p>  學(xué) 號(hào): </p>&l

2、t;p>  學(xué)生姓名: </p><p>  指導(dǎo)教師: </p><p>  教師職稱: 助 教 </p><p>  起止時(shí)間:2012.11.26至2012.12.9 </p><p>  課程設(shè)計(jì)(論文)任務(wù)及評(píng)語(yǔ)</p><p>

3、;  院(系):軟件學(xué)院 教研室:軟件教研窒</p><p><b>  目 錄</b></p><p>  第1章 課程設(shè)計(jì)目的與要求1</p><p>  1.1 課程設(shè)計(jì)目的1</p><p>  1.2 課程設(shè)計(jì)的實(shí)驗(yàn)環(huán)境1<

4、;/p><p>  1.3 課程設(shè)計(jì)的預(yù)備知識(shí)1</p><p>  1.4 課程設(shè)計(jì)要求1</p><p>  第2章 課程設(shè)計(jì)內(nèi)容2</p><p>  2.1 系統(tǒng)功能設(shè)計(jì)2</p><p>  2.2 系統(tǒng)詳細(xì)設(shè)計(jì)</p><p>  2.3 系統(tǒng)運(yùn)行與測(cè)試</p>

5、<p>  第3章 課程設(shè)計(jì)總結(jié)</p><p><b>  參考文獻(xiàn)</b></p><p><b>  課程設(shè)計(jì)目的與要求</b></p><p>  1.1 課程設(shè)計(jì)目的</p><p>  本課程的課程設(shè)計(jì)實(shí)際是學(xué)生學(xué)習(xí)完《可視化編程技術(shù)》課程后,進(jìn)行的一次全面的綜合訓(xùn)練,其

6、目的在于加深對(duì)可視化編程技術(shù)基本知識(shí)的理解,掌握運(yùn)用VB開(kāi)發(fā)應(yīng)用程序的基本方法及基本技巧。</p><p>  1.2 課程設(shè)計(jì)的實(shí)驗(yàn)環(huán)境</p><p>  硬件要求能運(yùn)行Windows 9.X操作系統(tǒng)的微機(jī)系統(tǒng)。</p><p>  軟件:Microsoft Visual Basic 6.0</p><p>  Microsoft Acc

7、ess 2003</p><p>  1.3 課程設(shè)計(jì)的預(yù)備知識(shí)</p><p>  熟悉Visual Basic 6.0程序設(shè)計(jì)的基本語(yǔ)法知識(shí)及常用技巧。</p><p>  1.4 課程設(shè)計(jì)要求</p><p>  按課程設(shè)計(jì)指導(dǎo)書(shū)提供的課題,每個(gè)小組設(shè)計(jì)一個(gè)完整的管理系統(tǒng)應(yīng)用程序。要求根據(jù)規(guī)定設(shè)計(jì)系統(tǒng)的具體要求,按照應(yīng)用程序的設(shè)計(jì)步驟和

8、VB的基本知識(shí)應(yīng)用程序的分析與實(shí)現(xiàn)。應(yīng)根據(jù)基本學(xué)時(shí)分配合理安排設(shè)計(jì)時(shí)間,并獨(dú)立完成各方面的設(shè)計(jì)。選擇同一題目的同學(xué),可以共同協(xié)作完成一個(gè)應(yīng)用程序的開(kāi)發(fā)任務(wù)。要求書(shū)寫(xiě)詳細(xì)的設(shè)計(jì)說(shuō)明書(shū),對(duì)有復(fù)雜的代碼段和程序段的部分,應(yīng)畫(huà)出程序流程圖,寫(xiě)出全部的代碼。在界面設(shè)計(jì)中,需畫(huà)出每個(gè)窗體的布局,進(jìn)行屬性說(shuō)明,杜絕雷同。</p><p><b>  課程設(shè)計(jì)內(nèi)容</b></p><p&

9、gt;<b>  2.1系統(tǒng)功能設(shè)計(jì)</b></p><p>  2.1.1 系統(tǒng)功能以VB+Access組合,實(shí)現(xiàn)銀行系統(tǒng)活期存取款管理,要按現(xiàn)有的實(shí)際利率計(jì)算利息,儲(chǔ)戶數(shù)據(jù)表至少應(yīng)包括:帳號(hào)、用戶名稱、身份證號(hào)、密碼、存取款日期、支出或存入金額(存入為正,支出為負(fù),初值為0)、結(jié)余金額(初值為0)等,限在取款時(shí)才計(jì)算利息并轉(zhuǎn)入存款本金。在數(shù)據(jù)表中每一次存取款都重新生成一條新記錄,這樣數(shù)據(jù)

10、表中保存著歷史存取款信息,可供查詢。</p><p><b>  分析</b></p><p>  模擬銀行銀行存取款管路程序,主要有“添加刪除儲(chǔ)戶信息”,“查詢修改出乎信息”,“錄入用戶存取款記錄”,“計(jì)算儲(chǔ)戶利息”共四項(xiàng)。系統(tǒng)可在用戶取款時(shí)計(jì)算其活期存款利息(每天按0.2%計(jì)算利息)。</p><p><b>  要求:</

11、b></p><p> ?。?)在Access中創(chuàng)建“儲(chǔ)戶信息”表,由所有儲(chǔ)戶信息構(gòu)成,此表結(jié)構(gòu)定義如下:賬號(hào),用戶名稱,身份證號(hào),密碼,結(jié)余金額,存取款日期,存入金額,取出金額。</p><p> ?。?)能隨時(shí)添加新儲(chǔ)戶或刪除原有儲(chǔ)戶。</p><p> ?。?)能隨時(shí)修改已存入儲(chǔ)戶的信息。</p><p> ?。?)能隨時(shí)查看指定

12、儲(chǔ)戶的信息(包括其存取款記錄)</p><p> ?。?)能將儲(chǔ)戶當(dāng)前存款金額加入儲(chǔ)戶本金。</p><p> ?。?)能在儲(chǔ)戶取款時(shí)計(jì)算利息并存入本金。</p><p>  2.1.2 系統(tǒng)功能模塊設(shè)計(jì)</p><p>  圖2.1系統(tǒng)功能模塊圖</p><p><b>  2.2系統(tǒng)詳細(xì)設(shè)計(jì)</b&

13、gt;</p><p>  2.2.1銀行存取款管理系統(tǒng)模塊設(shè)計(jì)</p><p>  1.界面設(shè)計(jì)(1)基本原理:建立程序設(shè)計(jì)與Access數(shù)據(jù)庫(kù)連接,用SQL語(yǔ)句實(shí)現(xiàn)程序?qū)?shù)據(jù)庫(kù)查找,添加,刪除,更改。</p><p>  查找:調(diào)用ADO控件的RecrodSource屬性,確定具體可訪問(wèn)數(shù)據(jù)來(lái)源,用select語(yǔ)句進(jìn)行查找。</p><p&g

14、t;  添加:調(diào)用AddNew方法,在記錄集中加入一條新數(shù)據(jù),再用Update方法更新修改。</p><p>  刪除:調(diào)用Delete方法,刪除記錄集中已選定的一條數(shù)據(jù)。</p><p>  修改:用ADO控件將命令文本與數(shù)據(jù)庫(kù)中其對(duì)應(yīng)的數(shù)據(jù)綁定,在文本框中修改,并用Update更新,對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行修改。</p><p><b> ?。?)總體設(shè)計(jì):&

15、lt;/b></p><p><b>  2.代碼設(shè)計(jì)</b></p><p>  Private Sub chaxun_Click() '查詢信息</p><p>  Form3.Show</p><p><b>  End Sub</b></p><p> 

16、 Private Sub chuhu_Click() '添加新儲(chǔ)戶</p><p>  Form2.Show</p><p><b>  End Sub</b></p><p>  Private Sub cunkuan_Click() '存取款</p><p>  Form5.Show</p>

17、;<p><b>  End Sub</b></p><p>  Private Sub tuichu_Click() '退出</p><p><b>  End</b></p><p><b>  End Sub</b></p><p>  Privat

18、e Sub xiugai_Click() '修改儲(chǔ)戶信息</p><p>  Form4.Show</p><p><b>  End Sub</b></p><p>  2.2.2銀行存取款管理系統(tǒng)模塊設(shè)計(jì)</p><p><b>  1.界面設(shè)計(jì)</b></p><p

19、>  1)使程序與數(shù)據(jù)庫(kù)連接,實(shí)現(xiàn)程序?qū)?shù)據(jù)庫(kù)的修改與查詢:</p><p>  利用ADO控件建立聯(lián)系,通過(guò)修改命令文本框的DataSource和DataField屬性,使命令文本框與數(shù)據(jù)庫(kù)綁定;通過(guò)修改DataGrid的DataSource屬性,使數(shù)據(jù)庫(kù)的所有信息顯示在窗體中。</p><p> ?。?)通過(guò)對(duì)主窗體菜單的Click打開(kāi)“添加刪除新儲(chǔ)戶”、“儲(chǔ)戶信息”、“存款與取

20、款”窗體。</p><p><b>  2.代碼設(shè)計(jì)</b></p><p>  Private Sub Command1_Click(Index As Integer)</p><p>  Dim ask As Integer</p><p>  Select Case Index</p><p&g

21、t;  Case 0 '添加</p><p>  Adodc1.Recordset.AddNew '添加新用戶</p><p>  Case 1 '刪除</p><p>  ask = MsgBox("是否刪除已有儲(chǔ)戶信息!", vbYesNo)</p><p>  If ask = 6 Then&

22、lt;/p><p>  Adodc1.Recordset.Delete '刪除當(dāng)前數(shù)據(jù)</p><p>  Adodc1.Recordset.MoveNext '下一條記錄</p><p>  If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast '如果讀 到數(shù)據(jù)尾部,指針

23、定義到最后一條記錄</p><p><b>  End If</b></p><p>  Case 2 '更新</p><p>  Adodc1.Recordset.Update '確定當(dāng)前修改并保存到數(shù)據(jù)源</p><p>  Case 3 '放棄</p><p>  A

24、dodc1.Recordset.CancelUpdate '取消Update對(duì)記錄的修改</p><p>  End Select</p><p><b>  End Sub</b></p><p>  Private Sub Command2_Click(Index As Integer)</p><p>  

25、Select Case Index</p><p>  Case 0 '首記錄</p><p>  Adodc1.Recordset.MoveFirst '讀取數(shù)據(jù)庫(kù)首記錄</p><p>  Case 1 '上一條</p><p>  Adodc1.Recordset.MovePrevious</p>

26、<p>  If Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst '讀取上一條記錄</p><p>  Case 2 '下一條</p><p>  Adodc1.Recordset.MoveNext</p><p>  If Adodc1.Recordset.EOF Then Ado

27、dc1.Recordset.MoveLast '讀取下一條記錄</p><p>  Case 3 '尾記錄</p><p>  Adodc1.Recordset.MoveLast '讀取數(shù)據(jù)庫(kù)尾記錄</p><p>  End Select</p><p><b>  End Sub</b><

28、;/p><p>  Private Sub Command3_Click() '結(jié)束</p><p>  Unload Me '結(jié)束當(dāng)前窗體</p><p>  Form1.Show '返回主窗體</p><p><b>  End Sub</b></p><p>  窗體-儲(chǔ)

29、戶添加與刪除:</p><p> ?。?)查詢儲(chǔ)戶信息是SQL語(yǔ)句在數(shù)據(jù)庫(kù)中按用戶名稱查詢其身份信息和存取款信息。</p><p>  Select<字段名表>From<表名>Where<條件></p><p><b>  程序段如下:</b></p><p>  Private Su

30、b Command1_Click() '查詢</p><p>  If Text1 > "" Then '設(shè)置數(shù)據(jù)源</p><p>  Adodc1.RecordSource = "Select * From 儲(chǔ)戶信息 Where 用戶名稱 ='" & Text1 & "'&quo

31、t; '確定訪問(wèn)數(shù)據(jù)來(lái)源,并選擇出用戶名為文本框中名稱的所有數(shù)據(jù)</p><p><b>  Else</b></p><p>  Adodc1.RecordSource = "Select * From 儲(chǔ)戶信息" '對(duì)于未指定信息查詢</p><p><b>  End If</b>

32、</p><p>  Adodc1.Refresh '刷新ADO控件的連接屬性并重新建立記錄集對(duì)象</p><p><b>  End Sub</b></p><p><b>  窗體-查詢:</b></p><p> ?。?)修改儲(chǔ)戶信息是對(duì)數(shù)據(jù)庫(kù)中儲(chǔ)戶的身份信息進(jìn)行修改。</p&g

33、t;<p><b>  程序段如下:</b></p><p>  Private Sub Command1_Click(Index As Integer)</p><p>  Select Case Index</p><p>  Case 0 '首記錄</p><p>  Adodc1.Recor

34、dset.MoveFirst '讀取數(shù)據(jù)庫(kù)第一條記錄</p><p>  Case 1 '上一條</p><p>  Adodc1.Recordset.MovePrevious '讀取上一條記錄</p><p>  If Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst '如果當(dāng)

35、前為數(shù)據(jù)源開(kāi)始,指針定義到第一條數(shù)據(jù)</p><p>  Case 2 '下一條</p><p>  Adodc1.Recordset.MoveNext '讀取下一條記錄</p><p>  If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast '如果當(dāng)前為數(shù)據(jù)源尾部,指針定義到最后一條

36、數(shù)據(jù)</p><p>  Case 3 '尾記錄</p><p>  Adodc1.Recordset.MoveLast '讀取數(shù)據(jù)庫(kù)最后一條記錄</p><p>  End Select</p><p><b>  End Sub</b></p><p>  Private Su

37、b Command2_Click() '更新</p><p>  Adodc1.Recordset.Update '確定修改并保存到數(shù)據(jù)源</p><p><b>  End Sub</b></p><p>  Private Sub Command3_Click() '返回</p><p>  

38、Unload Me '關(guān)閉當(dāng)前窗體</p><p>  Form1.Show '返回主窗體</p><p><b>  End Sub</b></p><p>  窗體-修改儲(chǔ)戶信息:</p><p> ?。?)存款與取款是新加一條關(guān)于當(dāng)前儲(chǔ)戶的一條存款或取款信息。</p><p>

39、;<b>  程序段如下:</b></p><p>  Private Sub Command1_Click() '確定</p><p>  Adodc1.Recordset.Update '保存修改</p><p><b>  End Sub</b></p><p>  Priva

40、te Sub Command2_Click() '返回</p><p>  Unload Me '關(guān)閉當(dāng)前窗體</p><p>  Form1.Show '返回主窗體</p><p><b>  End Sub</b></p><p>  Private Sub Command3_Click()

41、'輸入</p><p>  Adodc1.Recordset.AddNew '添加新數(shù)據(jù)</p><p><b>  End Sub</b></p><p>  Private Sub Command4_Click() '存入</p><p>  Dim a, b As Long, c% '

42、;定義a、b為長(zhǎng)整型</p><p>  b = Text1.Text '將賬號(hào)賦值到b</p><p>  Adodc1.Recordset.MoveFirst</p><p>  Adodc1.Recordset.Find "賬號(hào)='" & b & "'" '從記錄首部開(kāi)始查

43、找賬號(hào)為b的那一條數(shù)據(jù)</p><p>  If Adodc1.Recordset.EOF Then</p><p>  MsgBox "無(wú)此賬號(hào)!", , "提示" '如果查找到記錄尾部還是沒(méi)有此賬號(hào),則彈出提示窗口</p><p><b>  Else</b></p><p

44、>  a = Adodc1.Recordset.Fields("結(jié)余金額") '在已找到那條數(shù)據(jù)中找到結(jié)余金額數(shù)據(jù),并將此數(shù)據(jù)賦值給a</p><p>  Text8.Text = Val(Text5.Text) + a '當(dāng)前存入金額加此賬戶上一次的結(jié)余金額計(jì)算出新的結(jié)余金額</p><p><b>  End If</b>

45、</p><p><b>  End Sub</b></p><p>  Private Sub Command5_Click() '取出</p><p>  Dim x, y, z, m&, e, f As Long</p><p>  Dim n As Date '定義n、p為日期,形式為“Y

46、YYY-MM-DD”</p><p>  Dim p As Date</p><p>  m = Text1.Text '將賬號(hào)賦值到m</p><p>  Adodc1.Recordset.MoveFirst</p><p>  Adodc1.Recordset.Find "賬號(hào)='" & m &

47、amp; "'" '從記錄首部開(kāi)始查找賬號(hào)為m的那一條數(shù)據(jù)</p><p>  n = Adodc1.Recordset.Fields("存取款日期") '在已找到那條數(shù)據(jù)中找到存取從記錄首部開(kāi)始查找賬號(hào)為m的那一條數(shù)據(jù)</p><p>  p = Text7.Text '將當(dāng)前取款日期賦值給p</p&g

48、t;<p>  z = DateDiff("d", n, p) '計(jì)算當(dāng)前取款日期與上一次存取款日期的天數(shù)之差</p><p>  Adodc1.Recordset.Find "賬號(hào)='" & m & "'" '從記錄首部開(kāi)始查找賬號(hào)為m的那一條數(shù)據(jù)</p><p>

49、  f = Adodc1.Recordset.Fields("結(jié)余金額") '在已找到那條數(shù)據(jù)中找到結(jié)余金額數(shù)據(jù),并將此數(shù)據(jù)賦值給f</p><p>  x = Val(Text6.Text) '將當(dāng)前取出金額賦值給x,將文本框中的數(shù)字字符串改為數(shù)值</p><p>  y = f * 0.0002 * z + f - x '計(jì)算利息并將利息假如

50、本金再減去取出金額計(jì)算出此次取款的結(jié)余金額,將結(jié)余金額賦值給y</p><p>  Text8.Text = y '將y值寫(xiě)入到第八個(gè)文本框</p><p><b>  End Sub</b></p><p><b>  窗體-存款與取款:</b></p><p><b>  完整

51、的源程序</b></p><p>  Form1:(主窗體)</p><p>  Private Sub chaxun_Click() </p><p>  Form3.Show</p><p><b>  End Sub</b></p><p>  Private Sub chuhu

52、_Click()</p><p>  Form2.Show</p><p><b>  End Sub</b></p><p>  Private Sub cunkuan_Click() </p><p>  Form5.Show</p><p><b>  End Sub</b&

53、gt;</p><p>  Private Sub tuichu_Click() </p><p><b>  End</b></p><p><b>  End Sub</b></p><p>  Private Sub xiugai_Click()</p><p>  F

54、orm4.Show</p><p><b>  End Sub</b></p><p>  Form2:(添加刪除儲(chǔ)戶)</p><p>  Private Sub Command1_Click(Index As Integer)</p><p>  Dim ask As Integer</p><p

55、>  Select Case Index</p><p><b>  Case 0</b></p><p>  Adodc1.Recordset.AddNew </p><p><b>  Case 1</b></p><p>  ask = MsgBox("是否刪除已有儲(chǔ)戶信息!&

56、quot;, vbYesNo)</p><p>  If ask = 6 Then</p><p>  Adodc1.Recordset.Delete </p><p>  Adodc1.Recordset.MoveNext </p><p>  If Adodc1.Recordset.EOF Then Adodc1.Recordset.Mo

57、veLast </p><p><b>  End If</b></p><p><b>  Case 2</b></p><p>  Adodc1.Recordset.Update </p><p>  Case 3 '放棄</p><p>  Adodc1.Rec

58、ordset.CancelUpdate </p><p>  End Select</p><p><b>  End Sub</b></p><p>  Private Sub Command2_Click(Index As Integer)</p><p>  Select Case Index</p>

59、<p>  Case 0 </p><p>  Adodc1.Recordset.MoveFirst</p><p><b>  Case 1</b></p><p>  Adodc1.Recordset.MovePrevious</p><p>  If Adodc1.Recordset.BO

60、F Then Adodc1.Recordset.MoveFirst </p><p><b>  Case 2</b></p><p>  Adodc1.Recordset.MoveNext</p><p>  If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast </p>

61、<p><b>  Case 3</b></p><p>  Adodc1.Recordset.MoveLast </p><p>  End Select</p><p><b>  End Sub</b></p><p>  Private Sub Command3_Click() &

62、lt;/p><p>  Unload Me </p><p>  Form1.Show </p><p><b>  End Sub</b></p><p>  Form3:(查詢)</p><p>  Private Sub Command1_Click() </p><p&

63、gt;  If Text1 > "" Then </p><p>  Adodc1.RecordSource = "Select * From 儲(chǔ)戶信息 Where 用戶名稱 ='" & Text1 & "'" </p><p><b>  Else</b><

64、/p><p>  Adodc1.RecordSource = "Select * From 儲(chǔ)戶信息" </p><p><b>  End If</b></p><p>  Adodc1.RefreshEnd Sub</p><p>  Form4:(修改)</p><p>  

65、Private Sub Command1_Click(Index As Integer)</p><p>  Select Case Index</p><p><b>  Case 0 </b></p><p>  Adodc1.Recordset.MoveFirst</p><p><b>  Case 1

66、</b></p><p>  Adodc1.Recordset.MovePrevious </p><p>  If Adodc1.Recordset.BOFThenAdodc1.Recordset.MoveFirs</p><p>  Case 2 Adodc1.Recordset.MoveNext If Adodc1.Recordset.EOF Th

67、en Adodc1.Recordset.MoveLast </p><p><b>  Case 3</b></p><p>  Adodc1.Recordset.MoveLast </p><p>  End Select</p><p><b>  End Sub</b></p

68、><p>  Private Sub Command2_Click() </p><p>  Adodc1.Recordset.Update </p><p><b>  End Sub</b></p><p>  Private Sub Command3_Click() </p><p><b

69、>  Unload Me</b></p><p>  Form1.Show </p><p><b>  End Sub</b></p><p>  Form5:(存款與取款)</p><p>  Private Sub Command1_Click()</p><p>  Ad

70、odc1.Recordset.Update</p><p><b>  End Sub</b></p><p>  Private Sub Command2_Click()</p><p><b>  Unload Me</b></p><p>  Form1.Show</p><

71、;p><b>  End Sub</b></p><p>  Private Sub Command3_Click()</p><p>  Adodc1.Recordset.AddNew</p><p><b>  End Sub</b></p><p>  Private Sub Comma

72、nd4_Click()</p><p>  Dim a, b As Long, c%</p><p>  b = Text1.Text</p><p>  Adodc1.Recordset.MoveFirst</p><p>  Adodc1.Recordset.Find "賬號(hào)='" & b &

73、"'"</p><p>  If Adodc1.Recordset.EOF Then</p><p>  MsgBox "無(wú)此賬號(hào)!", , "提示"</p><p><b>  Else</b></p><p>  a = Adodc1.Records

74、et.Fields("結(jié)余金額")</p><p>  Text8.Text = Val(Text5.Text) + a</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub Comman

75、d5_Click()</p><p>  Dim x, y, z, m&, e, f As Long</p><p>  Dim n As Date</p><p>  Dim p As Date</p><p>  m = Text1.Text</p><p>  Adodc1.Recordset.MoveF

76、irst</p><p>  Adodc1.Recordset.Find "賬號(hào)='" & m & "'"</p><p>  n = Adodc1.Recordset.Fields("存取款日期")</p><p>  p = Text7.Text</p>&

77、lt;p>  z = DateDiff("d", n, p)</p><p>  Adodc1.Recordset.Find "賬號(hào)='" & m & "'"</p><p>  f = Adodc1.Recordset.Fields("結(jié)余金額")</p>

78、<p>  x = Val(Text6.Text)</p><p>  y = f * 0.0002 * z + f - x</p><p>  Text8.Text = y</p><p><b>  End Sub</b></p><p>  2.2.3 數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)</p><p&

79、gt;  在ASP中可以通過(guò)三種方式訪問(wèn)數(shù)據(jù)庫(kù):</p><p>  1、IDC(Internet Database Connector)方式;</p><p>  2、ADO(ActiveX Data Objects)方式;</p><p>  3、RDS(Remote Data Service)方式。</p><p>  這三種訪問(wèn)方式對(duì)

80、數(shù)據(jù)庫(kù)的訪問(wèn)都是由Internet Information Server完成的。通過(guò)Web瀏覽器用HTTP協(xié)議向IIS(Internet信息服務(wù)器)發(fā)送請(qǐng)求,IIS執(zhí)行對(duì)數(shù)據(jù)庫(kù)的訪問(wèn),并返回一個(gè)HTML格式的文檔響應(yīng)。下面分別說(shuō)明:</p><p>  1、IDC(Internet數(shù)據(jù)庫(kù)接口)</p><p>  IDC是一個(gè)傳統(tǒng)的數(shù)據(jù)庫(kù)查詢工具,用來(lái)定義和執(zhí)行數(shù)據(jù)庫(kù)查詢的SQL命令,并向

81、瀏覽器返回一個(gè)指定數(shù)據(jù)格式的頁(yè)面。使用IDC訪問(wèn)數(shù)據(jù)庫(kù)最大的特點(diǎn)是簡(jiǎn)單,幾乎不需要編程就能實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)。</p><p>  IDC使用兩種文件來(lái)控制如何訪問(wèn)數(shù)據(jù)庫(kù)以及如何創(chuàng)建返回的Web頁(yè)面:IDC (.idc)文件和HTML擴(kuò)展(.htx)文件。.idc文件必須包括ODBC數(shù)據(jù)源(Datasource)、HTML擴(kuò)展文件的文件名(Template)以及要執(zhí)行的SQL語(yǔ)句(SQLStatement)。此外

82、還有許多可選字段,可以根據(jù)需要選用。</p><p>  .htx文件是帶有用<%%>或<!--%%-->括起來(lái)的附加標(biāo)記的HTML文檔,IDC用這些標(biāo)記將動(dòng)態(tài)數(shù)據(jù)添加到文檔中。在.htx文件中有六個(gè)關(guān)鍵字(begindetail、enddetail、if、else、endif和"%z"),用來(lái)控制數(shù)據(jù)庫(kù)中的數(shù)據(jù)怎樣和.htx文件中HTML格式進(jìn)行合并。數(shù)據(jù)庫(kù)列名說(shuō)明H

83、TML文檔中什么數(shù)據(jù)被返回。</p><p>  要執(zhí)行IDC查詢,通常的做法是在HTML文件中嵌入一個(gè).idc文件的連接。例如,我們可用下面的HTML語(yǔ)句向Web服務(wù)器發(fā)出請(qǐng)求,要求執(zhí)行idctest.idc文件:</p><p>  <A HREF="http://LocalHost/idctest/idctest/idctest.idc">查詢<

84、/A>   當(dāng)Web服務(wù)器接到請(qǐng)求后,就調(diào)用Httpodbc.dll(IDC),與一定的數(shù)據(jù)源相連并把SQL命令傳給數(shù)據(jù)庫(kù)。當(dāng)SQL語(yǔ)句被執(zhí)行后,IDC把返回的數(shù)據(jù)融入到.htx文件中。IDC再把這個(gè)文檔返回給Web服務(wù)器,Web服務(wù)器再返回給瀏覽器。</p><p>  2、ADO(ActiveX數(shù)據(jù)對(duì)象)   ADO訪問(wèn)數(shù)據(jù)庫(kù),更像編寫(xiě)數(shù)據(jù)庫(kù)應(yīng)用程序。它把絕大部分的數(shù)據(jù)庫(kù)操作封裝在七個(gè)對(duì)象中,在AS

85、P頁(yè)面中編程調(diào)用這些對(duì)象執(zhí)行相應(yīng)的數(shù)據(jù)庫(kù)操作。</p><p>  ADO是ASP技術(shù)的核心之一,它集中體現(xiàn)了ASP技術(shù)豐富而靈活的數(shù)據(jù)庫(kù)訪問(wèn)功能。ADO建立了基于Web方式訪問(wèn)數(shù)據(jù)庫(kù)的腳本編寫(xiě)模型,不僅支持任何大型數(shù)據(jù)庫(kù)的核心功能,而且支持許多數(shù)據(jù)庫(kù)所專有的特性。</p><p>  ADO使用本機(jī)數(shù)據(jù)源,通過(guò)ODBC訪問(wèn)數(shù)據(jù)庫(kù)。這些數(shù)據(jù)庫(kù)可以是關(guān)系型數(shù)據(jù)庫(kù)、文本型數(shù)據(jù)庫(kù)、層次型數(shù)據(jù)庫(kù)或

86、者任何支持ODBC的數(shù)據(jù)庫(kù)。主要優(yōu)點(diǎn)是易用、高速、占用內(nèi)存和磁盤(pán)空間少,所以非常適合于作為服務(wù)器端的數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)。相對(duì)于訪問(wèn)數(shù)據(jù)庫(kù)的CGI程序而言,它是多線程的,在出現(xiàn)大量并發(fā)請(qǐng)求時(shí),也同樣可以保持服務(wù)器的運(yùn)行效率,并且通過(guò)連接池(Connection Pool)技術(shù)以及對(duì)數(shù)據(jù)庫(kù)連接資源的完全控制,提供與遠(yuǎn)程數(shù)據(jù)庫(kù)的高效連接與訪問(wèn),同時(shí)它還支持事務(wù)處理(Transaction),以開(kāi)發(fā)高效率、高可靠性的數(shù)據(jù)庫(kù)應(yīng)用程序。   一般使用

87、ADO訪問(wèn)數(shù)據(jù)庫(kù)的ASP腳本程序應(yīng)該使用Connection對(duì)象建立并管理與遠(yuǎn)程數(shù)據(jù)庫(kù)的連接,用Command對(duì)象提供靈活的查詢,用Recordset對(duì)象訪問(wèn)數(shù)據(jù)庫(kù)查詢所返回的結(jié)果。這三者是ADO的最核心的對(duì)象。</p><p>  與IDC一樣,運(yùn)行該數(shù)據(jù)庫(kù)訪問(wèn)腳本的通常做法是在HTML文件中嵌入一個(gè).asp文件的連接。如,用HTML語(yǔ)句向Web服務(wù)器發(fā)出請(qǐng)求,要求執(zhí)行intels.asp文件:</p&g

88、t;<p>  <A HREF="http://LocalHost/idctest/ado/intels.asp">查詢</A>     3、RDS(遠(yuǎn)程數(shù)據(jù)服務(wù))   RDS在IIS 4.0中,與ADO集成到一起,使用同樣的編程模型,提供訪問(wèn)遠(yuǎn)程數(shù)據(jù)庫(kù)的功能。ADO雖然能夠提供非常強(qiáng)大的數(shù)據(jù)庫(kù)訪問(wèn)功能,但是它不支持?jǐn)?shù)據(jù)遠(yuǎn)程操作(Data Rem

89、oting)。它只能執(zhí)行查詢并返回?cái)?shù)據(jù)庫(kù)查詢的結(jié)果,這種結(jié)果是靜態(tài)的,服務(wù)器上的數(shù)據(jù)庫(kù)與客戶端看到的數(shù)據(jù)沒(méi)有活的連接關(guān)系。如果用戶端需要修改數(shù)據(jù)庫(kù),就必須構(gòu)造修改數(shù)據(jù)的SQL語(yǔ)句,并執(zhí)行相應(yīng)的查詢。而RDS支持?jǐn)?shù)據(jù)遠(yuǎn)程操作。它不僅能執(zhí)行查詢并返回?cái)?shù)據(jù)庫(kù)查詢結(jié)果,而且可以把服務(wù)器端的數(shù)據(jù)“搬到”用戶端修改,并調(diào)用一個(gè)數(shù)據(jù)庫(kù)更新命令,將用戶端修改的數(shù)據(jù)寫(xiě)回?cái)?shù)據(jù)庫(kù),象使用本地?cái)?shù)據(jù)庫(kù)一樣。</p><p>  RDS的底

90、層是調(diào)用ADO來(lái)完成的,同樣具有ADO的易用性,區(qū)別僅在于RDS需要與數(shù)據(jù)綁定控件一同使用,比如Sheridan的ActiveX DataBound Grid控件。</p><p>  RDS在ADO的基礎(chǔ)上通過(guò)綁定的數(shù)據(jù)顯示和操作控件,提供給客戶端更強(qiáng)的數(shù)據(jù)表現(xiàn)力和遠(yuǎn)程數(shù)據(jù)操縱功能??梢哉f(shuō)RDS是目前基于Web的最好的遠(yuǎn)程數(shù)據(jù)庫(kù)訪問(wèn)方式</p><p>  2.3 系統(tǒng)運(yùn)行與測(cè)試<

91、/p><p>  黑盒測(cè)試:等價(jià)類劃分,邊界值分析法,錯(cuò)誤猜測(cè)法,因果圖法,比較測(cè)試法等價(jià)類劃分:分析規(guī)格說(shuō)明的基礎(chǔ)上劃分等價(jià)類,列出等價(jià)類,然后從等價(jià)類中選出有代表性的數(shù)據(jù)進(jìn)行用例測(cè)試,如果某一類中的一個(gè)用例發(fā)現(xiàn)了錯(cuò)誤,那么這一類中的其他用例也能發(fā)現(xiàn)同樣的錯(cuò)誤。有效等價(jià)類和無(wú)效等價(jià)類。效等價(jià)類:是由那些對(duì)程序規(guī)格說(shuō)明有意義的、合理的數(shù)據(jù)數(shù)據(jù)所構(gòu)成的集合;無(wú)效等價(jià)類:是那些對(duì)程序的規(guī)格說(shuō)明不合理的或無(wú)意義的輸入數(shù)據(jù)所

92、構(gòu)成的集合劃分等價(jià)類的依據(jù):正和反邊界值分析法:其測(cè)試用例來(lái)自與等價(jià)類的邊界,是對(duì)等價(jià)類劃分方法的補(bǔ)充。錯(cuò)誤猜測(cè)法:猜測(cè)被測(cè)程序在那些地方容易出錯(cuò),然后針對(duì)可能的薄弱環(huán)節(jié)設(shè)計(jì)測(cè)試用例。依賴于人們的先驗(yàn)知識(shí),因此,錯(cuò)誤猜測(cè)法一般作為輔助測(cè)試用例設(shè)計(jì)方法使用。果圖法:有因必有果比較測(cè)試:由多個(gè)開(kāi)發(fā)團(tuán)隊(duì)開(kāi)發(fā)出了更多的軟件版本,比較測(cè)試結(jié)果。一般用1,2。</p><p>  白盒測(cè)試:邏輯覆蓋:語(yǔ)句覆蓋、判定覆蓋、條件

93、覆蓋、條件組合覆蓋,發(fā)現(xiàn)錯(cuò)誤的能力從弱到強(qiáng)。</p><p>  第3章 課程設(shè)計(jì)總結(jié)</p><p>  這次課設(shè)我設(shè)計(jì)的題目是銀行存取款管理,通過(guò)本次課設(shè),我學(xué)會(huì)了如何編寫(xiě)VB程序訪問(wèn)數(shù)據(jù)庫(kù),比如用ADO控件,通過(guò)修改命令文本的屬性,是其與它在數(shù)據(jù)庫(kù)中相應(yīng)信息的綁定,通過(guò)修改文本框的信息,對(duì)數(shù)據(jù)庫(kù)直接修改。并應(yīng)用SQL語(yǔ)言,對(duì)指定信息的查詢。調(diào)用AddNew和Delete實(shí)現(xiàn)在數(shù)據(jù)庫(kù)中

94、添加或刪除信息。</p><p>  這次收獲最大的是學(xué)會(huì)了將程序和數(shù)據(jù)庫(kù)連接,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中信息的修改和查詢。當(dāng)然,其中不是一帆風(fēng)順的,最大的是在使用Find語(yǔ)句時(shí)出現(xiàn)多次無(wú)法找到需要信息的情況,在老師和同學(xué)的幫助下,成功解決了問(wèn)題,實(shí)現(xiàn)了利息的自動(dòng)計(jì)算,方便了使用者。但是由于時(shí)間和自己對(duì)VB的掌握程度有限沒(méi)有將程序編寫(xiě)的很完美使用。</p><p>  在這次課設(shè)中,我在以前學(xué)習(xí)VB的

95、基礎(chǔ)上,有了新的知識(shí)掌握和對(duì)以前知識(shí)的強(qiáng)化。而且對(duì)VB這個(gè)編程軟件有了新的認(rèn)識(shí),可視化的操作使操作更加方便;通過(guò)修改控件的屬性可以省略一些程序語(yǔ)言的書(shū)寫(xiě),方便了編程者,但是在調(diào)試程序時(shí)會(huì)出現(xiàn)不方便,不能將錯(cuò)誤直接找的。本次課設(shè)崔然已經(jīng)結(jié)束,當(dāng)時(shí)在日后還應(yīng)該加強(qiáng)VB軟件的使用,畢竟還它是一種順應(yīng)時(shí)代的一種工具。</p><p><b>  參考文獻(xiàn)</b></p><p&g

96、t;  1.甘雷,《中文Access 2002標(biāo)準(zhǔn)教程》,北京希望電子出版社</p><p>  2.肖紅.VB《語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與習(xí)題解答》.北京:人民郵電出版社</p><p>  3.Thearon Willis.《VB數(shù)據(jù)庫(kù)入門(mén)經(jīng)典》. 北京:清華大學(xué)出版社 </p><p>  4.石志國(guó).《VB數(shù)據(jù)庫(kù)編程》. 北京:清華大學(xué)出版社</p>

溫馨提示

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

評(píng)論

0/150

提交評(píng)論