第一篇:VB2010教材管理系統(tǒng)2
畢 業(yè) 論 文
教材管理系統(tǒng)一、課題內(nèi)容
1、教材管理系統(tǒng)發(fā)展的背景和現(xiàn)況
2、教材管理系統(tǒng)功能模塊的設(shè)計(jì)與介紹
3、教材管理系統(tǒng)的系統(tǒng)介紹和使用
二、課題任務(wù)要求
1、了解教材管理系統(tǒng)發(fā)展?fàn)顩r和前景
2、教材管理系統(tǒng)的功能模塊的設(shè)計(jì)
3、教材管理系統(tǒng)的詳細(xì)設(shè)計(jì)
4、教材管理系統(tǒng)平臺(tái)的建設(shè)
目 錄
第一章 引言...............................................................錯(cuò)誤!未定義書簽。
1.1 背景...........................................................................錯(cuò)誤!未定義書簽。
1.1.1教材管理系統(tǒng).................錯(cuò)誤!未定義書簽。1.1.2信息管理系統(tǒng).................錯(cuò)誤!未定義書簽。
1.2開發(fā)教材管理系統(tǒng)的目的和原則.........錯(cuò)誤!未定義書簽。1.3開發(fā)環(huán)境介紹......................................................錯(cuò)誤!未定義書簽。
畢 業(yè) 論 文
1.3.1 開發(fā)平臺(tái).....................錯(cuò)誤!未定義書簽。
1.3.2 數(shù)據(jù)庫(kù)查詢語(yǔ)言——SQL........錯(cuò)誤!未定義書簽。
1.3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)工具——ACCESS數(shù)據(jù)庫(kù)管理系統(tǒng) 錯(cuò)誤!未定義書簽。
第二章 系統(tǒng)設(shè)計(jì)..................................................錯(cuò)誤!未定義書簽。
2.1 系統(tǒng)分析................................................................錯(cuò)誤!未定義書簽。2.2 系統(tǒng)流程和操作方式設(shè)計(jì).........................錯(cuò)誤!未定義書簽。
第三章 系統(tǒng)界面設(shè)計(jì).....................................錯(cuò)誤!未定義書簽。
3.1系統(tǒng)界面設(shè)計(jì)......................................................錯(cuò)誤!未定義書簽。3.2系統(tǒng)的界面及窗體............................................................................3
3.2.1 下面是系統(tǒng)的主要窗體......................3 3.2.2 界面多文檔(MDI)frmDMI的設(shè)計(jì)及代碼錯(cuò)誤!未定義書簽。
第四章 數(shù)據(jù)庫(kù)的設(shè)計(jì)........................................錯(cuò)誤!未定義書簽。
4.1數(shù)據(jù)庫(kù)設(shè)計(jì)...........................................................錯(cuò)誤!未定義書簽。
4.1.1 數(shù)據(jù)庫(kù)概念和發(fā)展.........錯(cuò)誤!未定義書簽。4.1.2 數(shù)據(jù)庫(kù)模型及參照完整性..錯(cuò)誤!未定義書簽。
4.1.3數(shù)據(jù)庫(kù)的建立與連接............錯(cuò)誤!未定義書簽。
4.2 數(shù)據(jù)庫(kù)查詢?cè)O(shè)計(jì)...............................................錯(cuò)誤!未定義書簽。
4.2.1查詢功能簡(jiǎn)介..................錯(cuò)誤!未定義書簽。
畢 業(yè) 論 文
4.2.2查詢功能實(shí)現(xiàn)的相關(guān)技術(shù)........錯(cuò)誤!未定義書簽。4.2.3查詢功能的具體實(shí)現(xiàn)............錯(cuò)誤!未定義書簽。
4.3系統(tǒng)測(cè)試與評(píng)價(jià)................................................錯(cuò)誤!未定義書簽。
總 結(jié)...............................................................................錯(cuò)誤!未定義書簽。致 謝..................................................................................錯(cuò)誤!未定義書簽。參考文獻(xiàn)...........................................................................錯(cuò)誤!未定義書簽。
圖3-1功能模塊結(jié)構(gòu)
3.2系統(tǒng)的界面及窗體
3.2.1 下面是系統(tǒng)的主要窗體
畢 業(yè) 論 文
圖3-2 登錄窗口
圖3-3 系統(tǒng)界面
圖3-4 4
畢 業(yè) 論 文
圖3-5
3、密碼更改-----通過(guò)用戶對(duì)自己的密碼進(jìn)行修改如圖3-6
圖3-6
4、教材訂購(gòu)(圖3-7)
畢 業(yè) 論 文
圖3-7
5、教材入庫(kù)與發(fā)放(圖3-
8、圖3-9)
圖3-8
畢 業(yè) 論 文
圖3-9
6、查詢
查詢是本系統(tǒng)的重點(diǎn)部分之一,系統(tǒng)功能的強(qiáng)大與否與數(shù)據(jù)庫(kù)的的查詢有密切的關(guān)系如圖3-
10、3-11
圖3-10
圖3-11
這
Powered by 計(jì)算機(jī)畢業(yè)論文網(wǎng)http://www.tmdps.cn 提供 如果需要詳細(xì)內(nèi)容請(qǐng)與QQ:4991024聯(lián)系
第二篇:VB圖書管理系統(tǒng)
圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
目錄
一、序言······················································································································4
二、需求分析說(shuō)明書 ····································································································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對(duì)象命名約定..........................................................................................................................................7 6.2常量和變量命名約定..............................................................................................................................8 6.3結(jié)構(gòu)化編碼約定......................................................................................................................................8 6.4數(shù)據(jù)源的約定..........................................................................................................................................9 6.5數(shù)據(jù)庫(kù)訪問(wèn)約定......................................................................................................................................9 6.6其他約定..................................................................................................................................................9
七、數(shù)據(jù)庫(kù)分析與設(shè)計(jì)·································································································10 7.1數(shù)據(jù)庫(kù)環(huán)境說(shuō)明.......................................................................................................................................10 7.2數(shù)據(jù)庫(kù)命名標(biāo)準(zhǔn)與規(guī)范...........................................................................................................................10 7.3數(shù)據(jù)庫(kù)邏輯設(shè)計(jì).......................................................................................................................................10 7.4數(shù)據(jù)庫(kù)物理設(shè)計(jì).......................................................................................................................................10 7.4.1表、視圖匯總...................................................................................................................................10 7.4.2各表、視圖設(shè)計(jì)詳解.......................................................................................................................11
八、軟件體系結(jié)構(gòu)設(shè)計(jì)說(shuō)明書 ······················································································15 8.1系統(tǒng)概述..................................................................................................................................................15 8.2設(shè)計(jì)約束..................................................................................................................................................15 8.3設(shè)計(jì)策略..................................................................................................................................................15 8.4系統(tǒng)概要設(shè)計(jì)說(shuō)明書..............................................................................................................................16 8.4.1圖例說(shuō)明...........................................................................................................................................16 8.4.2系統(tǒng)總體結(jié)構(gòu)圖...............................................................................................................................16 8.5系統(tǒng)詳細(xì)設(shè)計(jì)說(shuō)明書..............................................................................................................................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
十、軟件測(cè)試分析報(bào)告·································································································44 10.1測(cè)試范圍與主要內(nèi)容............................................................................................................................44 10.2測(cè)試方法................................................................................................................................................44 10.3測(cè)試報(bào)告................................................................................................................................................44 10.4改進(jìn)建議與措施....................................................................................................................................45
十一、軟件使用說(shuō)明書·································································································45 11.1軟件概述.................................................................................................................................................45 11.2使用說(shuō)明.................................................................................................................................................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ù)很難保存和利用。而其他的小型圖書館大多如此。針對(duì)這種狀況,我計(jì)劃開發(fā)一個(gè)面向小型圖書館的圖書管理系統(tǒng),實(shí)現(xiàn)對(duì)人員、物流的全面管理,以幫助這些圖書館早日實(shí)現(xiàn)書店管理信息化。
為了系統(tǒng)的順利開發(fā)和維護(hù),特編制如下技術(shù)文檔:
想要全部 請(qǐng)加QQ:76536415 專業(yè)設(shè)計(jì) 畢業(yè)論文
第三篇: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ù)庫(kù)的建立以及與程序的鏈接。
(2)將零散的知識(shí)系統(tǒng)化。
(3)進(jìn)一步加深對(duì)計(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)。包含管理與查詢。管理可以對(duì)導(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ù)庫(kù)中是否有相同名稱的用戶
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對(duì)象的最后一個(gè)記錄之后
MsgBox ” 用戶名錯(cuò)誤!“, vbExclamation + vbOKOnly, ”警告“
txtid.Text = ”“
txtid.SetFocus
Else
'查找數(shù)據(jù)庫(kù)中是否有相同密碼的用戶
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對(duì)象的最后一個(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ù)庫(kù),將搜索的旅游信息、數(shù)據(jù),放入數(shù)據(jù)庫(kù)中,與程序進(jìn)行鏈接。
(4)運(yùn)行程序。
3.實(shí)驗(yàn)心得
這次實(shí)驗(yàn)中我運(yùn)用了Visual Basic 以及Access數(shù)據(jù)庫(kù)及其與程序的鏈接等軟件,制作出了一個(gè)簡(jiǎn)單的旅游資源管理及路線設(shè)計(jì)系統(tǒng)。
在這個(gè)系統(tǒng)的制作過(guò)程中,許多過(guò)程是我所不熟識(shí)的,所以,系統(tǒng)的制作,對(duì)我來(lái)說(shuō),是一個(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),盡量讓這種不足減少或消失。爭(zhēng)取以后能熟練的應(yīng)用VB語(yǔ)言及數(shù)據(jù)庫(kù)的應(yīng)用。
第四篇: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)不能為空,請(qǐng)輸入“, 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()
'說(shuō)明:為什么使用recs,而不直接使用adodc1.recordset.recordcount?在調(diào)用edbook1窗體添加一個(gè)記錄(確定)后,再
'返回到本表單,若不在Form_Activate()事件過(guò)程中調(diào)用adodc1.refresh進(jìn)行刷新,adodc1.recordset.recordcount值
'仍未增1,這樣調(diào)用encomm過(guò)程時(shí)出錯(cuò);若在Form_Activate()事件過(guò)程中調(diào)用adodc1.refresh進(jìn)行刷新,'adodc1.recordset.recordcount值增1了,調(diào)用encomm過(guò)程時(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(”過(guò)期罰款“)
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)不全,請(qǐ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(”過(guò)期罰款“)= 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è)語(yǔ)句恢復(fù)原記錄位置
edlev.Adodc1.Recordset.Move(n1)
edlev.Adodc1.Recordset.Fields(”級(jí)別“)= Trim(Text1(0).Text)
edlev.Adodc1.Recordset.Fields(”過(guò)期罰款“)= 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)不能為空,請(qǐ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è)語(yǔ)句恢復(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 ”沒(méi)有這個(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 ”該圖書沒(méi)有借書記錄“, 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 ”該書沒(méi)有外借,不能顯示借書人“, 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 ”沒(méi)有任何滿足條件的記錄“, 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()'自定義子過(guò)程:判斷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 ”該讀者沒(méi)有借任何圖書“, 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 ”沒(méi)有任何滿足條件的記錄“, 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()'自定義子過(guò)程:判斷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)不全,請(qǐ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è)語(yǔ)句恢復(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)刪除指定表中所有記錄,對(duì)于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用戶登錄管理系統(tǒng)
軟件開發(fā)環(huán)境與工具
實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)二
實(shí)驗(yàn)題目:用戶登錄及管理系統(tǒng) 實(shí)驗(yàn)地點(diǎn):軟件實(shí)驗(yàn)室一 指導(dǎo)老師:王琦 實(shí)驗(yàn)類型:設(shè)計(jì)型
系 班:計(jì)算機(jī)科學(xué)與技術(shù)系1103班 姓 名:秦芳芳(2011100316)
2013年11月22日
一.實(shí)驗(yàn)項(xiàng)目名稱:用戶登錄及管理系統(tǒng) 二.實(shí)驗(yàn)?zāi)康暮腿蝿?wù):
1、掌握系統(tǒng)登錄界面設(shè)計(jì)基本流程
2、了解用戶管理所要實(shí)現(xiàn)的基本功能
3、要求利用三層架構(gòu)思想機(jī)ado.Net相關(guān)技術(shù)實(shí)現(xiàn)程序
三.實(shí)驗(yàn)內(nèi)容及要求:
1、能夠進(jìn)行登錄驗(yàn)證
2、能夠?qū)崿F(xiàn)對(duì)用戶的基本管理,管理員能夠進(jìn)行查詢添加修改刪除
3、利用ado.net數(shù)據(jù)庫(kù)連接訪問(wèn)數(shù)據(jù)庫(kù),提高安全性
四.實(shí)驗(yàn)步驟:
1、class1.vb的代碼:
Imports System.Data.SqlClient Public Class Class1
Dim strconn As String = Me.getstrconn()Public Function yanzheng(ByVal str1 As String)As Integer
Dim conn As New SqlConnection conn.ConnectionString = strconn conn.Open()Dim cmd As New SqlCommand
cmd.CommandText = “select * from student where sname ='” & str1 & “'” cmd.Connection = conn 'cmd.CommandType = CommandType.Text
Dim dr As SqlDataReader dr = cmd.ExecuteReader If dr.Read Then dr.Close()conn.Close()Return 1 Else
dr.Close()conn.Close()Return 0 End If
End Function
Public Function pwdyanzheng(ByVal str As String)As SqlDataReader
Dim conn As New SqlConnection conn.ConnectionString = strconn conn.Open()
Dim cmd As New SqlCommand
cmd.CommandText = “select * from student where sname = '” & str & “'” cmd.Connection = conn Dim dr As SqlDataReader = cmd.ExecuteReader Return dr End Function
Public Function getstrconn()As String
Dim str As String str = “server=” & System.Configuration.ConfigurationManager.AppSettings(“server”)& “;” str &= “uid=” & System.Configuration.ConfigurationManager.AppSettings(“uid”)& “;” str &= “pwd=” & System.Configuration.ConfigurationManager.AppSettings(“pwd”)& “;” str &= “database=” & System.Configuration.ConfigurationManager.AppSettings(“database”)Return str End Function
Public Function getalldata()As DataSet
Dim conn As New SqlConnection conn.ConnectionString = strconn conn.Open()Dim da As New SqlDataAdapter(“select * from student”, conn)Dim ds As New DataSet da.Fill(ds, “student”)conn.Close()Return ds End Function
Public Function insdata(ByVal str1 As String, ByVal str2 As String)As String
Dim conn As New SqlConnection conn.ConnectionString = strconn Dim cmd As New SqlCommand cmd.Connection = conn cmd.CommandText = “insert into student(sname,sno)values('” & str1 & “','” & str2 & “')”
Try
conn.Open()cmd.ExecuteNonQuery()Return “1”
Catch ex As Exception
Return “-1” & ex.Message End Try
conn.Close()
End Function
Public Function upd(ByVal str1 As String, ByVal str2 As String)As String
Dim conn As New SqlConnection conn.ConnectionString = strconn Dim cmd As New SqlCommand cmd.Connection = conn cmd.CommandText = “update student set sno ='” & str2 & “'where sname ='” & str1 & “'”
Try
conn.Open()cmd.ExecuteNonQuery()Return “1”
Catch ex As Exception
Return “-1” & ex.Message End Try
conn.Close()End Function
Public Function deldata(ByVal str As String)As String
Dim conn As New SqlConnection conn.ConnectionString = strconn Dim cmd As New SqlCommand cmd.Connection = conn cmd.CommandText = “delete from student where sname ='” & str & “'”
Try
conn.Open()cmd.ExecuteNonQuery()Return “1”
Catch ex As Exception
Return “-1” & ex.Message End Try
conn.Close()End Function
Public Function search(ByVal str1 As String)As String
Dim conn As New SqlConnection conn.ConnectionString = strconn Dim cmd As New SqlCommand cmd.Connection = conn cmd.CommandText = “select * from student”
Try
conn.Open()cmd.ExecuteNonQuery()Return “1”
Catch ex As Exception
Return “-1” & ex.Message End Try
conn.Close()End Function
End Class
2、進(jìn)入界面功能的代碼:
Imports System.Data.SqlClient Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click Dim o As New Class
1Dim f As Integer
f = o.yanzheng(Me.TextBox1.Text)If f = 0 Then
MsgBox(“不存在該用戶,請(qǐng)重新輸入!”)Me.TextBox1.Text = “"
Me.TextBox1.Focus()Else
If f = 1 Then
Dim dr As SqlDataReader
dr = o.pwdyanzheng(Me.TextBox1.Text)dr.Read()If RTrim(dr!sno)<> Me.TextBox2.Text Then MsgBox(”密碼錯(cuò)誤,請(qǐng)重新輸入!“)Me.TextBox2.Text = ”“
Me.TextBox2.Focus()Else
Dim strpwd As String
strpwd = Me.TextBox2.Text strpwd = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strpwd, ”md5“)Dim frm As New Form2
frm.loginname = Me.TextBox1.Text frm.logintime = TimeOfDay frm.Show()Me.Hide()End If
End If
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button2.Click MyBase.Dispose()
End Sub End Class
3、用戶管理和瀏覽信息界面的代碼: Public Class Form2
Public loginname As String
Public logintime As String
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click Me.Hide()Form3.Show()End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button2.Click Me.Hide()Form4.Show()End Sub
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles MyBase.Load Me.loginstatusname.Text = ”用戶名:“ & loginname Me.loginstatustime.Text = ”登錄時(shí)間:“ & logintime End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Timer1.Tick Me.ToolStripStatusLabel1.Text = Now End Sub End Class
4、增,刪,改,查功能頁(yè)面的代碼: Public Class Form3
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button3.Click Me.Hide()del.Show()End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click Me.Hide()ins.Show()End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button2.Click Me.Hide()upda.Show()End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)Handles Button4.Click Me.Close()search.Show()End Sub End Class
5、顯示信息界面的代碼: Public Class Form4
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click Me.Close()Form2.Show()End Sub
Private Sub Form4_Load(ByVal sender As Object, ByVal e As System.EventArgs)Handles Me.Load Dim o As New Class
1Dim ds As New DataSet ds = o.getalldata()Me.DataGridView1.Refresh()Me.DataGridView1.DataSource = ds.Tables(”student“)End Sub End Class
6、插入信息界面的代碼: Public Class ins
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click Dim o As New Class1
o.insdata(Me.TextBox1.Text, Me.TextBox2.Text)Me.Close()Form2.Show()End Sub End Class
7、查詢信息界面的代碼: Public Class search
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)Handles Button1.Click Dim o As New Class
1Dim ds As New DataSet
o.search(Me.TextBox1.Text)ds = o.getalldata()Me.DataGridView1.Refresh()Me.DataGridView1.DataSource = ds.Tables(”student")End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)Handles Button2.Click
Me.Close()Form2.Show()End Sub
Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs)Handles DataGridView1.CellClick Me.TextBox1.Text = DataGridView1.CurrentRow.Cells.Item(0).Value.ToString Me.TextBox2.Text = DataGridView1.CurrentRow.Cells.Item(1).Value.ToString Me.TextBox3.Text = DataGridView1.CurrentRow.Cells.Item(2).Value.ToString Me.TextBox4.Text = DataGridView1.CurrentRow.Cells.Item(3).Value.ToString Me.TextBox5.Text = DataGridView1.CurrentRow.Cells.Item(4).Value.ToString End Sub End Class
8、修改信息界面的代碼: Public Class upda
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click Dim o As New Class1
o.upd(Me.TextBox1.Text, Me.TextBox2.Text)Me.Close()Form2.Show()End Sub End Class
9、刪除信息界面的代碼: Public Class del
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)Handles Button1.Click Dim o As New Class1
'o.deldata(Me.TextBox1.Text)o.deldata(Me.TextBox1.Text)Me.Close()Form2.Show()End Sub
End Class
五、運(yùn)行結(jié)果及截圖:
(1)建立數(shù)據(jù)庫(kù)
(2)運(yùn)行截圖
六、實(shí)驗(yàn)總結(jié):
通過(guò)本次實(shí)驗(yàn),我大致掌握了一個(gè)登錄系統(tǒng)界面設(shè)計(jì)的基本流程,同時(shí)了解了用戶管理所要實(shí)現(xiàn)的基本功能,而且能夠利用三層架構(gòu)思想機(jī)ado.Net相關(guān)技術(shù)實(shí)現(xiàn)程序,能夠進(jìn)行登錄驗(yàn)證,實(shí)現(xiàn)了對(duì)用戶的基本管理,在系統(tǒng)中實(shí)現(xiàn)了增刪查改的功能,利用ado.net數(shù)據(jù)庫(kù)連接訪問(wèn)數(shù)據(jù)庫(kù),提高了安全性,為以后的學(xué)習(xí)打下了很好的基礎(chǔ)。