第一篇:VB旅游管理系統(tǒng)實(shí)驗(yàn)報(bào)告
VB實(shí)驗(yàn)報(bào)告
——旅游資源管理及路線設(shè)計(jì)系統(tǒng)
實(shí)驗(yàn)報(bào)告
1.實(shí)驗(yàn)?zāi)康模?)學(xué)會(huì)程序的設(shè)置,掌握數(shù)據(jù)庫的建立以及與程序的鏈接。
(2)將零散的知識(shí)系統(tǒng)化。
(3)進(jìn)一步加深對計(jì)算機(jī)的了解。
2.實(shí)驗(yàn)要求
制作一個(gè)旅游資源管理及路線設(shè)計(jì)系統(tǒng)。主要內(nèi)容包括:
①管理員管理,其中分為管理模塊與查詢模塊。管理模塊分為旅游信息管理、景點(diǎn)管理、導(dǎo)游管理。查詢模塊分為景點(diǎn)與導(dǎo)游管理、導(dǎo)游與景點(diǎn)查詢、導(dǎo)游與游客查詢、景點(diǎn)與游客管理、游客與景點(diǎn)管理。
②員工查詢,其中分為景點(diǎn)與導(dǎo)游管理、導(dǎo)游與景點(diǎn)查詢、導(dǎo)游與游客查詢、景點(diǎn)與游客管理、游客與景點(diǎn)管理。
③游客查詢,基本查詢與員工查詢一樣。
此系統(tǒng)涵蓋管理員與員工及游客三大系統(tǒng)。包含管理與查詢。管理可以對導(dǎo)游的信息以及景點(diǎn)的各個(gè)信息做出及時(shí)的修改。同時(shí)也可以查詢到很多方面,如導(dǎo)游信息、旅游線路、旅游價(jià)格、旅游景點(diǎn)的風(fēng)景、以及最終的滿意程度。
3.實(shí)驗(yàn)內(nèi)容與步驟
(1)在界面上設(shè)置出旅游線路的整體規(guī)劃。
(2)根據(jù)界面編寫程序。
①編寫管理員登陸界面的代碼
Option Explicit
Public txtsql As String
Public username As String
Private Sub Form_Load()
txtid.Text = “"
txtpas.Text = ”“
End Sub
'啟動(dòng)拖放
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
moveit = True
cx = X: cy = Y
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If moveit = True Then
'調(diào)用函數(shù)獲得鼠標(biāo)位置,未知信息存放在變量zb中
GetCursorPos zb
Me.Move zb.X * 1565, zb.Y * 15350
End If
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
moveit = False
End Sub
Private Sub Form_Unload(Cancel As Integer)
Unload Me
End Sub
Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'啟動(dòng)拖放
moveit = True
cx = X: cy = Y
End Sub
Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If moveit = True Then
'調(diào)用函數(shù)獲得鼠標(biāo)位置,未知信息存放在變量zb中
GetCursorPos zb
Me.Move zb.X * 1565, zb.Y * 15350
End If
End Sub
Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
'停止拖放
moveit = False
End Sub
Private Sub Image3_Click()
txtid.Text = ”“
txtpas.Text = ”“
End Sub
Private Sub Image5_Click()
End
End Sub
Private Sub Label4_Click()
'查找數(shù)據(jù)庫中是否有相同名稱的用戶
txtsql = ”select username from 用戶權(quán)限表 where username='“ & Trim(txtid.Text)& ”'“
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = txtsql
Adodc1.Refresh
If Adodc1.Recordset.EOF = True Then'如果當(dāng)前記錄位置位于Recordset對象的最后一個(gè)記錄之后
MsgBox ” 用戶名錯(cuò)誤!“, vbExclamation + vbOKOnly, ”警告“
txtid.Text = ”“
txtid.SetFocus
Else
'查找數(shù)據(jù)庫中是否有相同密碼的用戶
txtsql = ”select username from 用戶權(quán)限表 where password='“ & Trim(txtpas.Text)& ”'“
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = txtsql
Adodc1.Refresh
'記錄是否為空
If Adodc1.Recordset.EOF = True Then'如果當(dāng)前記錄位置位于Recordset對象的最后一個(gè)記錄之后
MsgBox ” 密碼錯(cuò)誤!“, vbExclamation + vbOKOnly, ”警告“
txtpas.Text = ”“
txtpas.SetFocus
Else
管理員總控.Show
Unload Me
End If
End If
End Sub
Private Sub Label5_Click()
txtid.Text = ”“
txtpas.Text = ”"
End Sub
Private Sub Label6_Click()
End
End Sub
②編寫員工登陸界面的代碼:
Private Sub Form_Load()
opt1.Value = False
opt2.Value = False
End Sub
Private Sub Image2_Click()
If opt1.Value = True Then
管理員登錄.Show: 登錄.Hide
ElseIf opt2.Value = True Then
員工登錄.Show: 登錄.Hide
End If
End Sub
Private Sub Image6_Click()
'退出程序
End
End Sub
Private Sub Label1_Click()
End
End Sub
(3)建立數(shù)據(jù)庫,將搜索的旅游信息、數(shù)據(jù),放入數(shù)據(jù)庫中,與程序進(jìn)行鏈接。
(4)運(yùn)行程序。
3.實(shí)驗(yàn)心得
這次實(shí)驗(yàn)中我運(yùn)用了Visual Basic 以及Access數(shù)據(jù)庫及其與程序的鏈接等軟件,制作出了一個(gè)簡單的旅游資源管理及路線設(shè)計(jì)系統(tǒng)。
在這個(gè)系統(tǒng)的制作過程中,許多過程是我所不熟識(shí)的,所以,系統(tǒng)的制作,對我來說,是一個(gè)挑戰(zhàn)。同時(shí),我也從中學(xué)到好多,比如將零散的知識(shí)在系統(tǒng)中運(yùn)用,讓它們體現(xiàn)出自身的價(jià)值。再者,我認(rèn)識(shí)到知識(shí)只有在實(shí)際中才能發(fā)揮作用。還有自己知識(shí)的短缺。
因此,我會(huì)記住這次試驗(yàn),它讓我了解到好多從未發(fā)現(xiàn)的東西。在以后的學(xué)習(xí)中,改變自身的缺點(diǎn),盡量讓這種不足減少或消失。爭取以后能熟練的應(yīng)用VB語言及數(shù)據(jù)庫的應(yīng)用。
第二篇:VB圖書管理系統(tǒng)
圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
目錄
一、序言······················································································································4
二、需求分析說明書 ····································································································4 2.1系統(tǒng)介紹..................................................................................................................................................4 2.2系統(tǒng)面向的用戶群體..............................................................................................................................4 2.3系統(tǒng)的功能性需求..................................................................................................................................4 2.4系統(tǒng)的非功能性需求..............................................................................................................................5 2.4.1用戶界面需求...................................................................................................................................5 2.4.2軟硬件環(huán)境需求...............................................................................................................................5 2.4.3軟件質(zhì)量需求...................................................................................................................................5
三、可行性分析報(bào)告 ····································································································5 3.1技術(shù)可行性..............................................................................................................................................5 3.2人員可能性..............................................................................................................................................5 3.3時(shí)間、設(shè)備可能性..................................................................................................................................5 3.4系統(tǒng)工作量..............................................................................................................................................5 3.5代碼工作量..............................................................................................................................................5 3.6文檔要求..................................................................................................................................................5
四、開發(fā)環(huán)境與項(xiàng)目規(guī)劃 ·····························································································5 4.1開發(fā)環(huán)境..................................................................................................................................................5 4.2項(xiàng)目規(guī)劃與管理......................................................................................................................................5 4.2.1開發(fā)人員安排...................................................................................................................................5 4.2.2開發(fā)進(jìn)度安排...................................................................................................................................6
五、軟件界面設(shè)計(jì)標(biāo)準(zhǔn)與規(guī)范 ······················································································6 5.1編寫目的..................................................................................................................................................6 5.2界面設(shè)計(jì)思想..........................................................................................................................................6 5.3界面設(shè)計(jì)原則..........................................................................................................................................6 5.4界面設(shè)計(jì)樣式..........................................................................................................................................6 5.5常見提示信息樣式..................................................................................................................................6 5.6常見錯(cuò)誤信息樣式..................................................................................................................................7 5.7其他界面約定..........................................................................................................................................7
六、軟件編碼設(shè)計(jì)標(biāo)準(zhǔn)與規(guī)范 ······················································································7 6.1對象命名約定..........................................................................................................................................7 6.2常量和變量命名約定..............................................................................................................................8 6.3結(jié)構(gòu)化編碼約定......................................................................................................................................8 6.4數(shù)據(jù)源的約定..........................................................................................................................................9 6.5數(shù)據(jù)庫訪問約定......................................................................................................................................9 6.6其他約定..................................................................................................................................................9
七、數(shù)據(jù)庫分析與設(shè)計(jì)·································································································10 7.1數(shù)據(jù)庫環(huán)境說明.......................................................................................................................................10 7.2數(shù)據(jù)庫命名標(biāo)準(zhǔn)與規(guī)范...........................................................................................................................10 7.3數(shù)據(jù)庫邏輯設(shè)計(jì).......................................................................................................................................10 7.4數(shù)據(jù)庫物理設(shè)計(jì).......................................................................................................................................10 7.4.1表、視圖匯總...................................................................................................................................10 7.4.2各表、視圖設(shè)計(jì)詳解.......................................................................................................................11
八、軟件體系結(jié)構(gòu)設(shè)計(jì)說明書 ······················································································15 8.1系統(tǒng)概述..................................................................................................................................................15 8.2設(shè)計(jì)約束..................................................................................................................................................15 8.3設(shè)計(jì)策略..................................................................................................................................................15 8.4系統(tǒng)概要設(shè)計(jì)說明書..............................................................................................................................16 8.4.1圖例說明...........................................................................................................................................16 8.4.2系統(tǒng)總體結(jié)構(gòu)圖...............................................................................................................................16 8.5系統(tǒng)詳細(xì)設(shè)計(jì)說明書..............................................................................................................................17 8.5.1系統(tǒng)模塊匯總...................................................................................................................................17 8.5.2系統(tǒng)核心模塊詳解...........................................................................................................................18 8.5.3系統(tǒng)模塊詳解...................................................................................................................................28
九、用戶界面設(shè)計(jì)報(bào)告·································································································42 9.1界面設(shè)計(jì)規(guī)范..........................................................................................................................................42 9.2系統(tǒng)窗體匯總..........................................................................................................................................42 9.3主界面設(shè)計(jì)..............................................................................................................................................43 9.4子界面設(shè)計(jì)..............................................................................................................................................43 9.5界面資源設(shè)計(jì)..........................................................................................................................................44
十、軟件測試分析報(bào)告·································································································44 10.1測試范圍與主要內(nèi)容............................................................................................................................44 10.2測試方法................................................................................................................................................44 10.3測試報(bào)告................................................................................................................................................44 10.4改進(jìn)建議與措施....................................................................................................................................45
十一、軟件使用說明書·································································································45 11.1軟件概述.................................................................................................................................................45 11.2使用說明.................................................................................................................................................45 11.2.1系統(tǒng)登陸..........................................................................................................................................45 11.2.2系統(tǒng)退出..........................................................................................................................................46 11.2.3圖書類別管理..................................................................................................................................46 11.2.4圖書信息管理..................................................................................................................................48 11.2.5查詢圖書信息..................................................................................................................................48 11.2.6讀者類別管理..................................................................................................................................49 11.2.7讀者信息管理..................................................................................................................................49 11.2.8查詢讀者信息..................................................................................................................................50 11.2.9借書管理..........................................................................................................................................50 11.2.10還書管理........................................................................................................................................50 參考資料······················································································································51
一、序言
圖書管理系統(tǒng)的設(shè)計(jì)與推出是多方面原因促成的,比如學(xué)校的圖書管理,日常管理工作 1 都是人工操作,歷史數(shù)據(jù)很難保存和利用。而其他的小型圖書館大多如此。針對這種狀況,我計(jì)劃開發(fā)一個(gè)面向小型圖書館的圖書管理系統(tǒng),實(shí)現(xiàn)對人員、物流的全面管理,以幫助這些圖書館早日實(shí)現(xiàn)書店管理信息化。
為了系統(tǒng)的順利開發(fā)和維護(hù),特編制如下技術(shù)文檔:
想要全部 請加QQ:76536415 專業(yè)設(shè)計(jì) 畢業(yè)論文
第三篇:Vb設(shè)計(jì)實(shí)驗(yàn)報(bào)告
Vb設(shè)計(jì)實(shí)驗(yàn)報(bào)告
一、設(shè)計(jì)內(nèi)容和目的
這次實(shí)驗(yàn)設(shè)計(jì),我做的是學(xué)生信息管理系統(tǒng),主要功能是提供學(xué)生信息保存和查詢功能。
主要分為個(gè)窗口,其具體功能如下:
1、登錄窗口:提供學(xué)生和管理員登錄。
2、信息管理窗口:主操作窗口,可以進(jìn)行重登陸、注銷、退出、用戶查詢、管理員管理、系統(tǒng)信息的操作。包括一個(gè)下拉菜單和工具欄。
3、用戶查詢窗口:可以查詢數(shù)據(jù)庫中保存的學(xué)生信息。
4、管理員管理窗口:只有管理員可以進(jìn)入,顯示數(shù)據(jù)庫中所有的學(xué)生信息,并且可以添加修改。
5、系統(tǒng)信息窗口:是系統(tǒng)的信息內(nèi)容。
另外,根據(jù)網(wǎng)上的代碼,我又制作了俄羅斯方塊小游戲和畫圖工具。
二、設(shè)計(jì)過程:
1、實(shí)驗(yàn)構(gòu)思:在系統(tǒng)設(shè)計(jì)之前,對實(shí)驗(yàn)內(nèi)容和結(jié)構(gòu)的構(gòu)思占據(jù)了相當(dāng)一部分時(shí)間。最終決定做一個(gè)“學(xué)生信息管理系統(tǒng)”,這樣比較貼近自身情況,也有比較多的內(nèi)容可以設(shè)計(jì)。
2、技術(shù)實(shí)現(xiàn):在制作過程中主要使用了vb2005和數(shù)據(jù)庫技術(shù)實(shí)現(xiàn)系統(tǒng)的設(shè)計(jì)、實(shí)現(xiàn)和運(yùn)行。Photoshop等技術(shù)使程序的界面看起來更加友好。
3、運(yùn)行調(diào)試:在系統(tǒng)制作中的運(yùn)行調(diào)試過程中,出現(xiàn)了很多問題,比如各窗口之間的調(diào)用和訪問,如何退出,控件的背景設(shè)置、字體顏色設(shè)置等,都需要經(jīng)過一遍遍的調(diào)試發(fā)現(xiàn)、解決。
4、系統(tǒng)打包:在打包的時(shí)候,我按照老師給的方法一步步設(shè)置,可是由于粗心等原因,總是達(dá)不到滿意的效果,直到第三次才真正成功。
三、系統(tǒng)結(jié)構(gòu):
如一所述,系統(tǒng)分為5個(gè)模塊,各個(gè)模塊之間可以自由訪問。
四、實(shí)驗(yàn)結(jié)果: 該系統(tǒng)能夠提供學(xué)生和管理員兩種類型的登錄,可以實(shí)現(xiàn)學(xué)生信息的查詢、管理員對信息的修改,等。
五、設(shè)計(jì)心得:
在設(shè)計(jì)過程中,遇到了許多困難,比如:數(shù)據(jù)庫無法連接、窗口無法正常訪問、控件背景與窗體背景不協(xié)調(diào)等。后來通過查看課本和訪問網(wǎng)絡(luò)將這些問題解決了。
在這個(gè)過程中,我深深體會(huì)到大作業(yè)的用意:將所學(xué)理論知識(shí)用于實(shí)踐。正是因?yàn)檫@樣,許多理論上的知識(shí)才能真正得到理解。處理問題的過程,也就是學(xué)習(xí)的過程。背課本何其簡單,真正的能力卻是將課本運(yùn)用到實(shí)踐中去!
第四篇:vb圖書管理系統(tǒng)源代碼
Borbook:
Public sqltxt As String Public rno As String
'保存讀者借書證號(hào) Public bno As String
'保存讀者圖書編號(hào) Public xm As String
'保存讀者姓名 Public dw As String
'保存讀者單位 Public rs As ADODB.Recordset
Private Sub Comm1_Click()
rno = Trim(Text1(0).Text)
If rno = “" Then
MsgBox ”借書證號(hào)不能為空,請輸入“, vbOKOnly, ”信息提示“
Comm2.Enabled = False
Else
sqltxt = ”select * from reader where 借書證號(hào)='“ + rno + ”'“
Set rs = exesql(sqltxt)
If rs.RecordCount = 0 Then
MsgBox ”該讀者未登記,不能借書“, vbOKOnly, ”信息提示“
Comm2.Enabled = False
Else
Text2(0).Text = rs.Fields(”姓名“)
Text2(1).Text = str(rs.Fields(”借書總數(shù)“))
Text2(2).Text = str(rs.Fields(”借書總數(shù)“)rs.Fields(”已借書數(shù)“))
End If
End If
End If End Sub
Private Sub retCom_Click()
Unload Me End Sub
Private Sub Form_Load()
Comm2.Enabled = False End Sub
Edbook:
Private Sub DataGrid1_Click()
End Sub
Private Sub Form_Load()
'說明:為什么使用recs,而不直接使用adodc1.recordset.recordcount?在調(diào)用edbook1窗體添加一個(gè)記錄(確定)后,再
'返回到本表單,若不在Form_Activate()事件過程中調(diào)用adodc1.refresh進(jìn)行刷新,adodc1.recordset.recordcount值
'仍未增1,這樣調(diào)用encomm過程時(shí)出錯(cuò);若在Form_Activate()事件過程中調(diào)用adodc1.refresh進(jìn)行刷新,'adodc1.recordset.recordcount值增1了,調(diào)用encomm過程時(shí)也正確,但返回本窗體時(shí),當(dāng)前行總是第一行,顯然也不行,'因?yàn)橛脩粼谔砑踊蛐薷暮笙M赿atagrid1中顯示當(dāng)前操作的那條記錄.recs = Adodc1.Recordset.RecordCount End Sub
Private Sub Form_Activate()
DataGrid1.SetFocus
Call encomm End Sub
Private Sub Comm1_Click()
flag = 1
edbook1.Show vbModal End Sub
Private Sub Comm2_Click()
flag = 2
edbook1.Show vbModal End Sub
Private Sub Comm3_Click()
If MsgBox(”真的要?jiǎng)h除[“ + Trim(Adodc1.Recordset.Fields(”書名“))+ ”]嗎?“, vbYesNo, ”信息提示“)= vbYes Then
Adodc1.Recordset.Delete
recs = recs1
Call encomm
End If End Sub
Private Sub Comm4_Click()
Unload Me End Sub
Private Sub encomm()
If recs = 0 Then
Comm2.Enabled = False
Comm3.Enabled = False
Else
Comm2.Enabled = True
Comm3.Enabled = True
End If End Sub
Edlev1:
Dim cond As String
Private Sub Form_Load()
If flag = 2 Then
Text1(0).Text = edlev.Adodc1.Recordset.Fields(”級(jí)別“)
Text1(1).Text = edlev.Adodc1.Recordset.Fields(”過期罰款“)
Text1(2).Text = edlev.Adodc1.Recordset.Fields(”借書總數(shù)“)
Text1(3).Text = edlev.Adodc1.Recordset.Fields(”借書天數(shù)“)
End If End Sub
Private Sub Comm1_Click()
If Trim(Text1(0).Text)= ”“ Or Trim(Text1(1).Text)= ”“ Or Trim(Text1(2).Text)= ”“ Or _
Trim(Text1(3).Text)= ”“ Then
MsgBox ”數(shù)據(jù)項(xiàng)不全,請重新設(shè)置“, vbOKOnly, ”信息提示“
Text1(0).SetFocus
Exit Sub
End If
If flag = 1 Then '添加操作
If edlev.Adodc1.Recordset.RecordCount > 0 Then '原記錄個(gè)數(shù)大于0
cond = ”級(jí)別='“ + Trim(Text1(0).Text)+ ”'“
edlev.Adodc1.Recordset.MoveFirst
'每次從頭開始查找
edlev.Adodc1.Recordset.Find(cond)
If Not edlev.Adodc1.Recordset.EOF()Then
MsgBox ”存在完全相同的記錄“, vbOKOnly, ”信息提示“
Text1(0).SetFocus
Exit Sub
End If
End If
edlev.Adodc1.Recordset.AddNew
edlev.Adodc1.Recordset.Fields(”級(jí)別“)= Trim(Text1(0).Text)
edlev.Adodc1.Recordset.Fields(”過期罰款“)= Val(Trim(Text1(1).Text))
edlev.Adodc1.Recordset.Fields(”借書總數(shù)“)= Val(Trim(Text1(2).Text))
edlev.Adodc1.Recordset.Fields(”借書天數(shù)“)= Val(Trim(Text1(3).Text))
edlev.Adodc1.Recordset.Update
recs = recs + 1
Else
'修改操作
n = edlev.Adodc1.Recordset.AbsolutePosition
cond = ”級(jí)別='“ + Trim(Text1(0).Text)+ ”'“
edlev.Adodc1.Recordset.MoveFirst '每次從頭開始查找
edlev.Adodc1.Recordset.Find(cond)
If Not edlev.Adodc1.Recordset.EOF()And edlev.Adodc1.Recordset.AbsolutePosition <> n Then
MsgBox ”存在完全相同的記錄“, vbOKOnly, ”信息提示“
edlev.Adodc1.Recordset.MoveFirst
'這兩個(gè)語句恢復(fù)原記錄位置
edlev.Adodc1.Recordset.Move(n1)
edlev.Adodc1.Recordset.Fields(”級(jí)別“)= Trim(Text1(0).Text)
edlev.Adodc1.Recordset.Fields(”過期罰款“)= Val(Trim(Text1(1).Text))
edlev.Adodc1.Recordset.Fields(”借書總數(shù)“)= Val(Trim(Text1(2).Text))
edlev.Adodc1.Recordset.Fields(”借書天數(shù)“)= Val(Trim(Text1(3).Text))
edlev.Adodc1.Recordset.Update
End If
Unload Me End Sub
Private Sub Comm2_Click()
Unload Me End Sub
Edreader:
Private Sub DataGrid1_Click()
End Sub
Private Sub Form_Load()
recs = Adodc1.Recordset.RecordCount End Sub
Private Sub Form_Activate()
DataGrid1.SetFocus
Call encomm End Sub
Private Sub Comm1_Click()
flag = 1
edreader1.Show vbModal End Sub
Private Sub Comm2_Click()
flag = 2
edreader1.Show vbModal End Sub
Private Sub Comm3_Click()
If MsgBox(”真的要?jiǎng)h除[“ + Trim(Adodc1.Recordset.Fields(”姓名“))+ ”]嗎?“, vbYesNo, ”信息提示“)= vbYes Then
Adodc1.Recordset.Delete
recs = recs1
Call encomm
End If End Sub Private Sub Comm4_Click()
Adodc1.Recordset.UpdateBatch
Adodc1.Recordset.Close
Unload Me End Sub Private Sub encomm()
If recs = 0 Then
Comm2.Enabled = False
Comm3.Enabled = False
Else
Comm2.Enabled = True
Comm3.Enabled = True
End If End Sub
Edrec1:
Dim cond As String
Private Sub Form_Load()
Label1.Caption = cap
If flag = 1 Then
Text1.Text = ”“
Else
Text1.Text = edrec.Adodc1.Recordset.Fields(”fn“)
End If End Sub
Private Sub Comm1_Click()
If Trim(Text1.Text)= ”“ Then
MsgBox ”數(shù)據(jù)項(xiàng)不能為空,請重新設(shè)置“, vbOKOnly, ”信息提示“
Text1.SetFocus
Exit Sub
End If
If flag = 1 Then '添加操作
If edrec.Adodc1.Recordset.RecordCount > 0 Then '原記錄個(gè)數(shù)大于0
cond = ”fn='“ + Trim(Text1.Text)+ ”'“
edrec.Adodc1.Recordset.MoveFirst
'每次從頭開始查找
edrec.Adodc1.Recordset.Find(cond)
If Not edrec.Adodc1.Recordset.EOF()Then
MsgBox ”存在完全相同的記錄“, vbOKOnly, ”信息提示“
Text1.SetFocus
Exit Sub
End If
End If
edrec.Adodc1.Recordset.AddNew
edrec.Adodc1.Recordset.Fields(”fn“)= Trim(Text1.Text)
edrec.Adodc1.Recordset.Update
recs = recs + 1
Else
'修改操作
n = edrec.Adodc1.Recordset.AbsolutePosition
cond = ”fn='“ + Trim(Text1.Text)+ ”'“
edrec.Adodc1.Recordset.MoveFirst '每次從頭開始查找
edrec.Adodc1.Recordset.Find(cond)
If Not edrec.Adodc1.Recordset.EOF()And edrec.Adodc1.Recordset.AbsolutePosition <> n Then
MsgBox ”存在完全相同的記錄“, vbOKOnly, ”信息提示“
edrec.Adodc1.Recordset.MoveFirst
'這兩個(gè)語句恢復(fù)原記錄位置
edrec.Adodc1.Recordset.Move(n1)
edrec.Adodc1.Recordset.Fields(”fn“)= Trim(Text1.Text)
edrec.Adodc1.Recordset.Update
End If
Unload Me End Sub
Private Sub Comm2_Click()
Unload Me End Sub
Menu:
Private Sub MDIForm_Load()
If Not userlevel = ”系統(tǒng)管理員“ Then
menu21.Enabled = False
menu31.Enabled = False
menu41.Enabled = False
menu42.Enabled = False
End If End Sub
Private Sub menu11_Click()
borbook.Show vbModal End Sub
Private Sub menu12_Click()
retbook.Show vbModal End Sub
Private Sub menu13_Click()
End End Sub
Private Sub menu21_Click()
edbook.Show vbModal End Sub
Private Sub menu22_Click()
qubook.Show vbModal End Sub
Private Sub menu31_Click()
edreader.Show vbModal End Sub
Private Sub menu32_Click()
qureader.Show vbModal End Sub
Private Sub menu41_Click()
setuser.Show vbModal End Sub
Private Sub menu42_Click()
If MsgBox(”本功能要清除系統(tǒng)中所有數(shù)據(jù),真的初始化嗎?“, vbYesNo, ”確認(rèn)初始化操作“)
= vbYes Then
Call deldata(”book“)Call deldata(”reader“)Call deldata(”borrow“)Call deldata(”rlevel“)
Call deldata(”depart“)
Call deldata(”press“)
Call deldata(”oper“)
MsgBox ”系統(tǒng)初始化完畢,下次只能以1234/1234(用戶名/口令)進(jìn)入本系統(tǒng)“, vbOKOnly, ”信息提示“
End If End Sub
Pass:
Public n As Integer
Private Sub Command1_Click()
Dim mrc As ADODB.Recordset
txtsql = ”select * from oper where 用戶名='“ & _
Trim$(Text1(0).Text)& ”'“ & ” And 口令 = '“ & Trim$(Text1(1).Text)+ ”'“
Set mrc = exesql(txtsql)
If mrc.RecordCount = 0 Then '未找到用戶記錄
n = n + 1
If n < 3 Then
MsgBox ”沒有這個(gè)用戶,繼續(xù)登錄“, vbOKOnly + vbExclamation, ”信息提示“
Text1(0).Text = ”“
Text1(1).Text = ”“
Text1(0).SetFocus
Else
MsgBox ”已登錄失敗三次,退出系統(tǒng)“, vbOKOnly + vbExclamation, ”信息提示“
mrc.Close
Unload Me
End If
Else
'找到合法用戶記錄
userlevel = Trim(mrc.Fields(”級(jí)別“))
mrc.Close
Unload Me
menu.Show '調(diào)用menu窗體
End If End Sub
Private Sub Command2_Click()
Unload Me End Sub
Private Sub Form_Load()
n = 0
'n保存登錄的次數(shù) End Sub
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
Call endata(KeyAscii)End Sub
Qubook:
Private Sub Comm1_Click()
Dim sqltxt As String
If Adodc1.Recordset.Fields(”借否“)= ”借“ Then
no = Trim(Adodc1.Recordset.Fields(”圖書編號(hào)“))
sqltxt = ”select * from borrow where 圖書編號(hào)='“ + no + ”'“
Set rs = exesql(sqltxt)
If rs.RecordCount = 0 Then
MsgBox ”該圖書沒有借書記錄“, vbOKOnly, ”信息提示“
Else
MsgBox ”圖書編號(hào):“ + no + Chr(10)+ Chr(13)+ _
”書
名:“ + Trim(rs.Fields(”書名“))+ Chr(10)+ Chr(13)+ _
”借 書 人:“ + Trim(rs.Fields(”姓名“))+ Chr(10)+ Chr(13)+ _
”單
位:“ + Trim(rs.Fields(”單位“))+ Chr(10)+ Chr(13)+ _
”借書日期:“ + Format(rs.Fields(”借書日期“), ”yyyy.mm.dd“), vbOKOnly, ”查找結(jié)果“
End If
rs.Close
Else
MsgBox ”該書沒有外借,不能顯示借書人“, vbOKOnly, ”信息提示“
End If End Sub
Private Sub Comm2_Click()
Unload Me End Sub
Private Sub Form_Activate()
Adodc1.Refresh
DataGrid1.Refresh
DataGrid1.SetFocus
Call encomm End Sub
Private Sub selcmd1_Click()'設(shè)置條件確定
Dim str As String
str = ”“
'條件表達(dá)式
If Trim(Text1(0).Text)<> ”“ Then
If str = ”“ Then
str = ”圖書編號(hào)='“ + Trim(Text1(0).Text)+ ”'“
Else
str = str + ” and 圖書編號(hào)='“ + Trim(Text1(0).Text)+ ”'“
End If
End If
If Trim(Text1(1).Text)<> ”“ Then
If str = ”“ Then
str = ”書名='“ + Trim(Text1(1).Text)+ ”'“
Else
str = str + ” and 書名='“ + Trim(Text1(1).Text)+ ”'“
End If
End If
If Trim(Text1(2).Text)<> ”“ Then
If str = ”“ Then
str = ”作者='“ + Trim(Text1(2).Text)+ ”'“
Else
str = str + ” and 作者='“ + Trim(Text1(2).Text)+ ”'“
End If
End If
If Trim(Text1(3).Text)<> ”“ Then
If str = ”“ Then
str = ”出版社='“ + Trim(Text1(3).Text)+ ”'“
Else
str = str + ” and 出版社='“ + Trim(Text1(3).Text)+ ”'“
End If
End If
If Trim(Text1(4).Text)<> ”“ Then
If str = ”“ Then
str = ”借否='“ + Trim(Text1(4).Text)+ ”'“
Else
str = str + ” and 借否='“ + Trim(Text1(4).Text)+ ”'“
End If
End If
If Trim(Text1(5).Text)<> ”“ Then
If str = ”“ Then
str = ”定價(jià)=“ + Trim(Text1(5).Text)
Else
str = str + ” and 定價(jià)=“ + Trim(Text1(5).Text)
End If
End If
If str <> ”“ Then
Adodc1.RecordSource = ”select * from book where “ + str
Adodc1.Refresh
Else
Adodc1.RecordSource = ”select * from book“
Adodc1.Refresh
End If
If Adodc1.Recordset.RecordCount = 0 Then
MsgBox ”沒有任何滿足條件的記錄“, vbOKOnly, ”信息提示“
End If
Call encomm End Sub
Private Sub selcmd2_Click()'設(shè)置條件重置
Text1(0).Text = ”“
Text1(1).Text = ”“
Text1(2).Text = ”“
Text1(3).Text = ”“
Text1(4).Text = ”“
Text1(5).Text = ”“ End Sub
Private Sub encomm()'自定義子過程:判斷Adodc1中是否存在記錄
If Adodc1.Recordset.RecordCount = 0 Then
Comm1.Enabled = False
Else
Comm1.Enabled = True
End If End Sub
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
Call endata(KeyAscii)End Sub
Qureader:
Private Sub Comm1_Click()
Dim strn As String
Dim sqltxt As String
no = Trim(Adodc1.Recordset.Fields(”借書證號(hào)“))
sqltxt = ”select * from borrow where 借書證號(hào)='“ + no + ”'“
Set rs = exesql(sqltxt)
If rs.RecordCount = 0 Then
MsgBox ”該讀者沒有借任何圖書“, vbOKOnly, ”信息提示“
Else
rs.MoveFirst
strn = ”書
名(借書日期)“ + Chr(10)+ Chr(13)
Do While Not rs.EOF()
strn = strn & Trim(rs.Fields(”書名“))& ”(“ & Format(rs.Fields(”借書日期“), ”yyyy.mm.dd“)& ”)“ + Chr(10)+ Chr(13)
rs.MoveNext
Loop
MsgBox strn, vbOKOnly, ”列所借圖書清單“
rs.Close
End If End Sub
Private Sub Comm2_Click()
Unload Me End Sub
Private Sub Form_Activate()
Adodc1.Refresh
DataGrid1.Refresh
DataGrid1.SetFocus
Call encomm End Sub
Private Sub selcmd1_Click()'設(shè)置條件確定
Dim str As String
str = ”“
'條件表達(dá)式
If Trim(Text1(0).Text)<> ”“ Then
If str = ”“ Then
str = ”借書證號(hào)='“ + Trim(Text1(0).Text)+ ”'“
Else
str = str + ” and 借書證號(hào)='“ + Trim(Text1(0).Text)+ ”'“
End If
End If
If Trim(Text1(1).Text)<> ”“ Then
If str = ”“ Then
str = ”姓名='“ + Trim(Text1(1).Text)+ ”'“
Else
str = str + ” and 姓名='“ + Trim(Text1(1).Text)+ ”'“
End If
End If
If Trim(Text1(2).Text)<> ”“ Then
If str = ”“ Then
str = ”單位='“ + Trim(Text1(2).Text)+ ”'“
Else
str = str + ” and 單位='“ + Trim(Text1(2).Text)+ ”'“
End If
End If
If Trim(Text1(3).Text)<> ”“ Then
If str = ”“ Then
str = ”級(jí)別='“ + Trim(Text1(3).Text)+ ”'“
Else
str = str + ” and 級(jí)別='“ + Trim(Text1(3).Text)+ ”'“
End If
End If
If Trim(Text1(4).Text)<> ”“ Then
If str = ”“ Then
str = ”性別='“ + Trim(Text1(4).Text)+ ”'“
Else
str = str + ” and 性別='“ + Trim(Text1(4).Text)+ ”'“
End If
End If
If str <> ”“ Then
Adodc1.RecordSource = ”select * from reader where “ + str
Adodc1.Refresh
Else
Adodc1.RecordSource = ”select * from reader“
Adodc1.Refresh
End If
If Adodc1.Recordset.RecordCount = 0 Then
MsgBox ”沒有任何滿足條件的記錄“, vbOKOnly, ”信息提示“
End If
Call encomm End Sub
Private Sub selcmd2_Click()'設(shè)置條件重置
Text1(0).Text = ”“
Text1(1).Text = ”“
Text1(2).Text = ”“
Text1(3).Text = ”“
Text1(4).Text = ”“ End Sub
Private Sub encomm()'自定義子過程:判斷Adodc1中是否存在記錄
If Adodc1.Recordset.RecordCount = 0 Then
Comm1.Enabled = False
Else
Comm1.Enabled = True
End If End Sub
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
Call endata(KeyAscii)End Sub
Retbook:
Public rno As String Public bno As String
Private Sub Comm1_Click()
bno = Trim(Text1.Text)
If bno <> ”“ Then
Dim sqltxt As String
sqltxt = ”select * from borrow where 圖書編號(hào)='“ + bno + ”'“
Set brs = exesql(sqltxt)
If brs.RecordCount = 0 Then
MsgBox ”該書不是從本圖書館所借的,不能歸還!“, vbOKOnly, ”信息提示“
Else
If Trim(brs.Fields(”借書證號(hào)“))<> rno Then
If rno <> ”“ Then
'另一讀者還書,自動(dòng)列出上一個(gè)還書人的罰款單
dstr = ”罰款單“ + Chr(10)+ Chr(13)
dstr = dstr & ”姓名:“ & Trim(Text2(1).Text)+ ”(“ + rno + ”)罰款總額:“ & str(Text2(4).Text)& ”元“
MsgBox dstr, vbOKOnly, ”列罰款單“
End If
rno = Trim(brs.Fields(”借書證號(hào)“))
sqltxt = ”select * from book where 圖書編號(hào)='“ + bno + ”'“ '處理圖書記錄
Set bs = exesql(sqltxt)
bs.Fields(”借否“)= ”否“
bs.Update
sqltxt = ”select * from reader where 借書證號(hào)='“ + rno + ”'“ '處理讀者記錄
Set rs = exesql(sqltxt)
rs.Fields(”已借書數(shù)“)= rs.Fields(”已借書數(shù)“)rs.Fields(”已借書數(shù)“)
If(Datebrs.Fields(”借書日期“)1
rs.Update
If(Datebrs.Fields(”借書日期“)1
Call encomm
End If End Sub
Private Sub Comm4_Click()
Unload Me End Sub
Private Sub encomm()
If recs = 0 Then
Comm2.Enabled = False
Comm3.Enabled = False
Else
Comm2.Enabled = True
Comm3.Enabled = True
End If End Sub
Setuser1:
Dim cond As String
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys ”{TAB}“
End If End Sub
Private Sub Form_Load()
If flag = 2 Then
Text1(0).Text = setuser.Adodc1.Recordset.Fields(”用戶名“)
Text1(1).Text = setuser.Adodc1.Recordset.Fields(”口令“)
Combo1.Text = setuser.Adodc1.Recordset.Fields(”級(jí)別“)
End If End Sub
Private Sub Comm1_Click()
If Trim(Text1(0).Text)= ”“ Or Trim(Text1(1).Text)= ”“ Or Trim(Combo1.Text)= ”“ Then
MsgBox ”數(shù)據(jù)項(xiàng)不全,請重新設(shè)置“, vbOKOnly, ”信息提示“
Text1(0).SetFocus
Exit Sub
End If
If flag = 1 Then '添加操作
If setuser.Adodc1.Recordset.RecordCount > 0 Then '原記錄個(gè)數(shù)大于0
cond = ”級(jí)別='“ + Trim(Text1(0).Text)+ ”'“
setuser.Adodc1.Recordset.MoveFirst
'每次從頭開始查找
setuser.Adodc1.Recordset.Find(cond)
If Not setuser.Adodc1.Recordset.EOF()Then
MsgBox ”存在完全相同的記錄“, vbOKOnly, ”信息提示“
Text1(0).SetFocus
Exit Sub
End If
End If
setuser.Adodc1.Recordset.AddNew
setuser.Adodc1.Recordset.Fields(”用戶名“)= Trim(Text1(0).Text)
setuser.Adodc1.Recordset.Fields(”口令“)= Val(Trim(Text1(1).Text))
setuser.Adodc1.Recordset.Fields(”級(jí)別“)= Trim(Combo1.Text)
setuser.Adodc1.Recordset.Update
recs = recs + 1
Else
'修改操作
n = setuser.Adodc1.Recordset.AbsolutePosition
cond = ”級(jí)別='“ + Trim(Text1(0).Text)+ ”'“
setuser.Adodc1.Recordset.MoveFirst '每次從頭開始查找
setuser.Adodc1.Recordset.Find(cond)
If Not setuser.Adodc1.Recordset.EOF()And setuser.Adodc1.Recordset.AbsolutePosition <> n Then
MsgBox ”存在完全相同的記錄“, vbOKOnly, ”信息提示“
setuser.Adodc1.Recordset.MoveFirst
'這兩個(gè)語句恢復(fù)原記錄位置
setuser.Adodc1.Recordset.Move(n1)
setuser.Adodc1.Recordset.Fields(”用戶名“)= Trim(Text1(0).Text)
setuser.Adodc1.Recordset.Fields(”口令“)= Val(Trim(Text1(1).Text))
setuser.Adodc1.Recordset.Fields(”級(jí)別“)= Trim(Combo1.Text)
setuser.Adodc1.Recordset.Update
End If
Unload Me End Sub
Private Sub Comm2_Click()
Unload Me End Sub
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
Call endata(KeyAscii)End Sub
模塊:
Public userlevel As String '保存用戶級(jí)別
Public flag As Integer
'用作記錄操作標(biāo)記
Public tna As String
'保存表名:用于調(diào)用edrec1窗體 Public cap As String
'保存標(biāo)題名:用于調(diào)用edrec1窗體 Public recs As Integer
'保存記錄集中記錄個(gè)數(shù)
Sub main()
pass.Show vbModal End Sub
Public Function exesql(ByVal sql As String)As ADODB.Recordset
sql = Trim$(sql)
Set conn = New ADODB.Connection
Set rst = New ADODB.Recordset
conn.ConnectionString = ”DSN=Library;UID=sa;PWD=;“
conn.Open
Set rst.ActiveConnection = conn
rst.LockType = adLockOptimistic
rst.CursorType = adOpenKeyset
rst.Open sql
Set exesql = rst
Set rst = Nothing
Set conn = Nothing End Function
Public Sub deldata(ByVal tn As String)刪除指定表中所有記錄,對于oper表添加一個(gè)系統(tǒng)用戶
Dim sql As String
sql = ”delete “ & Trim$(tn)
Set conn = New ADODB.Connection
conn.ConnectionString = ”DSN=Library;UID=sa;PWD=;“
conn.Open
conn.Execute sql
If Trim(tn)= ”oper“ Then
sql = ”insert oper values('1234','1234','系統(tǒng)管理員')“
conn.Execute sql
End If
conn.Close End Sub Public Sub endata(Keyasc As Integer)
If Keyasc = 13 Then
SendKeys ”{TAB}" '將回車鍵轉(zhuǎn)換成Tab鍵
End If End Sub
第五篇:VB學(xué)生管理系統(tǒng)主要代碼
主要代碼如下:
Dim cn As New ADODB.Connection Dim rst0 As New ADODB.Recordset Dim rst1 As New ADODB.Recordset Dim rst2 As New ADODB.Recordset Dim rst3 As New ADODB.Recordset
Private Sub Cmd0add_Click()rst0.AddNew Cmd0add.Enabled = False Cmd0save.Enabled = True Cmd0del.Enabled = False Cmd0Exit.Enabled = True End Sub
Private Sub Cmd0del_Click()Cmd0add.Enabled = True Cmd0save.Enabled = True Cmd0del.Enabled = False Cmd0Exit.Enabled = True x = MsgBox(“確定要?jiǎng)h除嗎”, vbYesNoCancel + vbQuestion, “確認(rèn)”)If x = vbYes Then rst0.Delete End Sub
Private Sub Cmd0Exit_Click()cn.close Unload Me End Sub
Private Sub Cmd0save_Click()Cmd0add.Enabled = True Cmd0save.Enabled = False Cmd0del.Enabled = True Cmd0Exit.Enabled = True rst0.Update rst0.Sort = “應(yīng)聘人編號(hào)” End Sub
Private Sub Cmd1Exit_Click()cn.close Unload Me End Sub Private Sub Cmd1Import_Click()rst0.MoveFirst For i = 1 To rst0.RecordCount
rst1.AddNew
rst1.Fields(“應(yīng)聘人編號(hào)”)= rst0.Fields(“應(yīng)聘人編號(hào)”)
rst0.MoveNext
rst1.MoveNext Next i '
Cmd1Import.Enabled = False
' Cmd1OK.Enabled = True
' Cmd1Exit.Enabled = True
End Sub
Private Sub Cmd1OK_Click()rst1.Fields(“綜合評分”)=(Val(rst1.Fields(“計(jì)算機(jī)能力”))+ rst1.Fields(“業(yè)務(wù)能力”))* 0.5 If rst1.Fields(“綜合評分”)>= 6 Then
rst1.Fields(“初選狀態(tài)”)= “通過”
Else
rst1.Fields(“初選狀態(tài)”)= “未通過”
End If
rst1.Update
rst1.Sort = “應(yīng)聘人編號(hào)” End Sub
Private Sub Cmd2Exit_Click()cn.close Unload Me End Sub
Private Sub Cmd2Import_Click()rst1.close rst1.open “select * from 初選表 where 初選狀態(tài)='通過'”, cn rst1.MoveFirst For i = 1 To rst1.RecordCount
rst2.AddNew
rst2.Fields(“應(yīng)聘人編號(hào)”)= rst1.Fields(“應(yīng)聘人編號(hào)”)
rst2.Fields(“初選評分”)= rst1.Fields(“綜合評分”)
rst1.MoveNext Next i rst2.Update Cmd2Import.Enabled = False End Sub
Private Sub Cmd2OK_Click()rst2.Fields(“綜合評分”)=(rst2.Fields(“初選評分”)+ rst2.Fields(“外表形象”)+ rst2.Fields(“領(lǐng)悟反應(yīng)能力”))/ 3 If rst2.Fields(“綜合評分”)>= 6 Then
rst2.Fields(“錄用情況”)= “通過” Else
rst2.Fields(“錄用情況”)= “未通過” End If rst2.Update rst2.Sort = “應(yīng)聘人編號(hào)” rst2.MoveLast End Sub
Private Sub Cmd3Exit_Click()cn.close Unload Me End Sub
Private Sub Cmd3Import_Click()rst2.close rst2.open “selsct * from 面試表 where 錄用情況= '通過'” rst2.MoveFirst For i = 1 To rst2.RecordCount
rst3.AddNew
rst3.Fields(“應(yīng)聘人編號(hào)”)= rst2.Fields(“應(yīng)聘人編號(hào)”)
rst3.Fields(“面試分”)= rst2.Fields(“綜合評分”)
rst3.Fields(“開始錄用時(shí)間”)= Date
rst2.MoveNext Next i Cmd3Import.Enabled = False End Sub
Private Sub Cmd3OK_Click()rst3.Fields(“綜合考核分”)=(rst3.Fields(“面試分”)+ rst3.Fields(“筆試分”))/ 2 If rst3.Fields(“綜合考核分”)>= 6 Then
rst3.Fields(“是否錄用”)= “是”
Else
rst3.Fields(“是否錄用”)= “否”
End If
rst3.Update
rst3.Sort = “應(yīng)聘人編號(hào)”
rst3.MoveLast End Sub
Private Sub cxtg_Click()frmDataEnv.Show 1 End Sub
Private Sub DataGrid1_Click()
End Sub
Private Sub Form_Load()cn.ConnectionString = “DSN=xsgl;name=sa;pass=sa” cn.open cn.CursorLocation = adUseClient rst0.LockType = adLockPessimistic rst1.LockType = adLockPessimistic rst2.LockType = adLockPessimistic rst3.LockType = adLockPessimistic
rst0.open “select * from 登記表”, cn Set DataGrid1.DataSource = rst0
rst1.open “select * from 初選表”, cn Set DataGrid2.DataSource = rst1 If rst1.RecordCount <> 0 Then Cmd1Import.Enabled = False End If
rst2.open “select * from 面試表”, cn Set DataGrid3.DataSource = rst2 If rst2.RecordCount <> 0 Then Cmd2Import.Enabled = False End If
rst3.open “select * from 錄用表”, cn Set DataGrid4.DataSource = rst3 If rst3.RecordCount <> 0 Then Cmd3Import.Enabled = False End If End Sub 學(xué)生基本信息瀏覽窗口
圖5.6學(xué)生基本信息瀏覽
主要代碼如下:
string sql = string.Format(“select P_id from Tb_popedom order by P_id desc”);
if(GetConn.conn.State == ConnectionState.Closed)
{
GetConn.conn.Open();
}
SqlCommand c = new SqlCommand(sql, GetConn.conn);
SqlDataReader reader = c.ExecuteReader();
if(reader.Read())
{
string id = reader[“P_id”].ToString();
txt_id.Text =(int.Parse(id.Substring(1,(id.Length-1)))+ 1)+ “";
}
reader.Close();
GetConn.conn.Close();
////加載一級(jí)菜單
sql = ”select * from Tb_function where F_level='1'“;
if(GetConn.conn.State == ConnectionState.Closed)
{
GetConn.conn.Open();
}
sda = new SqlDataAdapter(sql, GetConn.conn);
sda.Fill(ds, ”fun");
……
}