【文章內(nèi)容簡介】
rt Into … Select …”指令的區(qū)別是,這個指令將建立另一個新的數(shù)據(jù)表,而Insert Into是增加數(shù)據(jù)記錄到“現(xiàn)存的”數(shù)據(jù)表中。四. Visual Basic Dim con As New ;數(shù)據(jù)連接[10]對于ACCESS數(shù)據(jù)庫,provide=Microsoft. 。 data source= amp。App. Path. amp。 \”Dim rsTemperature As New Dim rsPosition As New (RECORDSET)第2章 系統(tǒng)整體規(guī)劃167。 數(shù)據(jù)庫的設計167。 數(shù)據(jù)庫構造步驟在系統(tǒng)設計過程中,首先要建立的就是ACCESS數(shù)據(jù)庫。創(chuàng)建任何一個數(shù)據(jù)庫的第一步是仔細的規(guī)劃數(shù)據(jù)庫,設計必須是靈活的、有邏輯的。創(chuàng)建一個數(shù)據(jù)庫結構的過程被認為是數(shù)據(jù)模型設計。步驟如下:1.標識需要的數(shù)據(jù);2.收集被標識的字段到表中;3.標識主關鍵字字段;4.繪制一個簡單的數(shù)據(jù)圖表;5.規(guī)范數(shù)據(jù);6.標識指定字段的信息;7.創(chuàng)建物理表。167。 系統(tǒng)數(shù)據(jù)庫針對本系統(tǒng)對溫度、位置信息的錄入與查詢以及安全性等要求,本數(shù)據(jù)庫采用ACCESS 2003來構造了4個表,它們分別是位置信息表,溫度信息表,系統(tǒng)管理表和溫度格式表。如圖21所示:圖21 ACCESS表圖1. 位置信息表 :圖22 位置信息表其中序號ID字段數(shù)據(jù)類型為自動編號,時間字段數(shù)據(jù)類型為日期/時間,位置字段數(shù)據(jù)類型為是/否。2. 溫度信息表溫度信息數(shù)據(jù)表如圖23所示:圖23 溫度數(shù)據(jù)表其中序號ID字段數(shù)據(jù)類型為自動編號,時間字段數(shù)據(jù)類型為日期/時間,溫度字段數(shù)據(jù)類型為數(shù)字。3. 系統(tǒng)管理表根據(jù)用戶權限在數(shù)據(jù)庫里設定了系統(tǒng)管理表,有用戶名,密碼,權限3個字段,如圖24所示:圖24 登錄信息表其中用戶名字段數(shù)據(jù)類型為文本,密碼字段數(shù)據(jù)類型為文本,權限字段數(shù)據(jù)類型為文本。4. 溫度格式表根據(jù)相關要求,在這里設置一個溫度格式表,如下圖25所示:圖25 溫度格式表167。 系統(tǒng)流程圖 系統(tǒng)實現(xiàn)的思想是:在首先滿足設計功能需要的同時,對其安全性進行保障。達到便捷,直觀的對數(shù)據(jù)信息進行訪問與處理。所以首先對登錄界面進行設計,在數(shù)據(jù)庫中錄入用戶名及密碼,輸入正確后登錄主窗口,可以顯示溫度、位置的實時信息以及查詢功能(包括按日查詢和按時間段查詢)。基本達到設計要求。如下圖26所示:登陸表單(管理員或者普通用戶身份登陸) MDI主窗口(系統(tǒng)主窗口)返回查詢信息對信息進行查找(按日或特定時間段)管理室內(nèi)監(jiān)控信息(溫度值信息,位置紅外防盜信息)圖26 系統(tǒng)流程圖167。 系統(tǒng)功能分析系統(tǒng)開發(fā)的目的是實現(xiàn)對實驗室的智能監(jiān)控,按照既定方案,實現(xiàn)一定的要求::定義使用本系統(tǒng)的用戶及密碼:實現(xiàn)與串口通訊設計的連接調(diào)試,能夠接收數(shù)據(jù):可以實現(xiàn)對數(shù)據(jù)庫溫度,位置,紅外等信息的查詢第3章 系統(tǒng)具體實現(xiàn)經(jīng)過需求分析、功能模塊設計之后要進入詳細設計階段,本階段將按系統(tǒng)的主要模塊進行論述,重在闡述具體的某項功能的實現(xiàn)方法或運用到的相關技術。167。 準備工作1. 添加引用[11]:單擊工程菜單中的引用選項,添加Microsoft ActiveX Data Objects Library和Microsoft Excel Object Library兩個引用。2. 添加部件[12]:單擊工程菜單中的部件選項,添加Microsoft ADO Data Control (OLEDB)、Microsoft Common Dialog Control (SP3) 、Microsoft Flex Grid Control 、Microsoft Windows Common Controls (SP4)和Microsoft Windows Common Controls2 。167。 模塊設計添加一個模塊Model,在Model中添加如下代碼:Global g_TemperatureUpper As Long 39。溫度上限Global g_TemperatureLower As Long 39。溫度下限167。 用戶界面設計167。 登陸界面因為本系統(tǒng)是按照監(jiān)控系統(tǒng)遠程管理控制的思想設計的,故而登陸部分主要完成密碼校驗、確定管理員等功能,這里附上本程序的登陸界面,見圖31。圖31 用戶登陸界面在代碼窗口的“通用”部分,定義一個模塊級的公共變量t用來記錄確定次數(shù)。Public userpow As String 39。標記用戶權限Dim t As Integer 39。記錄確定次數(shù)Private Sub Form Load ()Dim connectionstring As StringConnectionstring = provider=。 amp。 _ Data source= connectionstringCnt = 0End Sub這里將“確定”按鈕作為一個按鈕Command1[13],利用SQL語句,在數(shù)據(jù)庫中查詢,如果查到相應的記錄,用戶的登陸獲得通過,此時可以退出登陸窗口,并進入MDI主窗口。如果沒有相應的記錄,則給出提示錯誤信息,同時將用戶輸入錯誤密碼次數(shù)增加1,如果錯誤超過3次,則退出整個系統(tǒng);若次數(shù)還沒有超過3次,則提示用戶重新輸入。根據(jù)以上的設計,Command1的Click事件的代碼如下:Dim sql As StringDim rs_login As New If Trim() = Then 39。判斷輸入的用戶名是否為空 MsgBox 沒有這個用戶, vbOKOnly + vbExclamation, Else sql = select * from 系統(tǒng)管理 where 用戶名=39。 amp。 amp。 39。 sql, conn, adOpenKeyset, adLockPessimistic If = True Then MsgBox 沒有這個用戶, vbOKOnly + vbExclamation, Else 39。檢驗密碼是否正確 If Trim ( (1)) = Trim() Then UserID = Userpow = (2) Unload Me Else MsgBox 密碼不正確, vbOKOnly + vbExclamation, End If End IfEnd IfCnt = t + 1If t = 3 Then Unload MeEnd IfExit SubEnd Sub167。 MDI主窗口在工程中添加一個MDI窗口,取名為“”,并為MDI窗體進行菜單和代碼的設計,其運行界面如圖32:圖32 監(jiān)控系統(tǒng)主窗口一.主窗體設計MDI主窗體是整個系統(tǒng)的容器,為了方便用戶的使用,應設計相應的菜單和代碼。二.窗體代碼設計1. 在代碼窗口的通用部分定義數(shù)據(jù)庫連接:39。物聯(lián)網(wǎng)監(jiān)控系統(tǒng)Dim conn As New 39。 數(shù)據(jù)連接Dim rsTemperature As New 39。 溫度數(shù)據(jù)集Dim rsPosition As New 39。 位置數(shù)據(jù)集2. 窗口加載時代碼如下:Private Sub Form Load () provider=。 data source= amp。 App. Path amp。 \ = adUseClient = adUseClient select * from 溫度, conn, adOpenDynamic, adLockOptimistic select * from 位置, conn, adOpenDynamic, adLockOptimistic = Trim (Str (g_TemperatureUpper)) amp。 ℃ = Trim (Str (g_TemperatureLower)) amp。 ℃ = 100 39。 模擬數(shù)據(jù), 初始化隨機數(shù) Randomize TimerEnd Sub窗口定義里有定時器Timer控件的設置系統(tǒng)時間顯示語句:Private Sub Form Load () = 100End SubPrivate Sub Timer1_Timer ()If CStr (Time) Then = Time End IfEnd Sub在VB中設置以文本框,使textbox控件中的時間與系統(tǒng)時間同步。3. 另一個Timer控件程序設置:Private Sub 模式數(shù)據(jù)定時器_Timer() Dim ta As Single 39。 溫度A, B, C Dim tb As Single Dim tc As Single Dim m As Single Dim pa As Boolean 39。 位置A, B, C Dim pb As BooleanDim pc As Boolean39。設置一個Rnd隨機函數(shù),取[0,1)值 ta = Rnd * 100 39。 溫度A tb = Rnd * 100 39。 溫度B tc = Rnd * 100 39。 溫度C 39。位置數(shù)據(jù)的構造取自IF語句 m = Rnd * 100 39。 位置A If (m = 50) Then pa = True Else pa = False End If m = Rnd * 100 39。 位置B If (m = 50) Then pb = True Else pb = False End If m = Rnd * 100 39。 位置C If (m = 50) Then pc = True Else pc = False End If = Format(ta, ) = Format(tb, ) = Format (tc, ) RecordData ta, tb, tc, pa, pb, pc ChangeColor LedOn