ado connetion物件代表了開啟的、與資料庫的連線。
connectionstring
'建立資料庫連線
objcn.connectionstring = "provider = microsoft.jet.oledb.4.0;" & _
open
close
ado recordset 物件用於儲存資料來源獲得記錄集。
activeconnection
eof:測試當前記錄位置是否位於記錄集的最後乙個記錄之後。
fields
objrs.fields(「口令」).value
open
objrs.open(「setect 口令from 使用者系統 where 使用者名稱=『admin』」)
1.建立資料庫
外接程式/視覺化資料管理器
2.建立ado引用
工程/引用
microsoft activex data objects 2.5 library
3.**
const
常數定義,與dim差不多,但const定義的不能修改a的值,dim定義的可以重新賦值
方法一private const a=5
方法二dim a
a=5conste用來定義常量
格式:const 常量名as 型別=表示式
chr(10)、chr(13)和vblf、vbcr、vbcrlf的分別
1、共同點:
chr(10):換行,相當於vblf
chr(13):回車,相當於vbcr
chr(13)+chr(10):回車+換行,相當於vbcrlf
cr是回車,只有回車,是到本行的最頭上;lf是換行,到下一行;crlf是到下一行的最頭上
2、使用效果
1)、在msgbox中效果一樣
dim a, b, c as string
a = "111" & vbcr & "222"
msgbox a
msgbox len(a)
b = "111" & vblf & "222"
msgbox b
msgbox len(b)
c = "111" & vbcrlf & "222"
msgbox c
msgbox len(c)
2)、在窗體輸出中的效果
chr(13) 、chr(10) 、chr(13)+chr(10) 是換一行;
chr(10)+chr(13)、兩個chr(13)、兩個chr(10) 是換兩行。
3)、在text輸出中的效果
只有只有chr(10)+chr(13)或者vbcrlf可以換行,其他的沒有換行的效果::需要注意,換行的前提是text控制項中屬性multiline必須為true。
建立資料庫連線
objcn.open
執行查詢命令,獲得使用者登入口令
strsql = "select 口令from 系統使用者where 使用者名稱= '" & username & " '"
set objrs.activeconnection = objcn
objrs.open (strsql)
判斷有無查詢結果
if objrs.eof then
check_password = 0
'沒有查詢結果,表示該使用者為非法使用者
else
if password <> trim(objrs.fields("口令").value) then
check_password = 1
'口令不正確
else
check_password = 2
'口令正確
end if
end if
關閉資料庫鏈結,釋放物件
objcn.close
set objrs = nothing
set objcn = nothing
exit function
gperror:
check_password = 255
'驗證無法正常完成,返回錯誤**
set objrs = nothing
set objcn = nothing
用於儲存使用者請求驗證次數
static intlogtimes as integer
intlogtimes = intlogtimes + 1
'計算登入次數
if intlogtimes > maxlogtimes then
msgbox "你已經超過允許驗證次數!" & vbcr _
& "應用程式將結束!", vbcritical, "登陸驗證"
endelse
strname = trim(txtusername.text)
'獲得輸入的使用者名稱
strpassword = trim(txtpassword.text)
vb 中vbcritical 是指定在對話方塊上顯示的圖示資訊型別(用於出錯時的情況),就是紅色圓圈裡面有個叉叉x。
檢驗使用者名稱和口令的合法性,並根據檢驗返回值執行相應的操作
select case check_password(strname, strpassword)
case 0
msgbox "<" & strname &
">
不是系統使用者,請檢查使用者名稱輸入是否正確!
", vbcritical, "
登陸驗證"
txtusername.setfocus
txtusername.selstart = 0
txtusername.sellength = len(txtusername)
case 1
msgbox "口令錯誤,請重新輸入!", vbcritical, "登陸驗證"
txtpassword = ""
txtpassword.setfocus
case 2
unload me
msgbox "登陸成功,將啟用系統程式!", vbinformation, "登陸驗證"
'通常這裡放置顯示系統窗體的語句,例如
frmmain.show
case else
msgbox "登陸驗證未正常完成!請重新執行登入程式," & vbcrlf _
& "如果仍不能登陸,請報告系統管理員!", vbcritical, "登陸驗證"
end select
紅皮書例項5
俗話說的好 趁熱打鐵!完成了前四個例子之後,現在回想一下都學到了什麼,大腦又一片空白了 只是依稀記得,學了怎麼鏈結和建立簡單的資料庫,還有一些連線訪問顯示資料庫的控制項!具體的 什麼的,我只想說 我暈!雖然自己現在還處於迷茫階段,但是不能沒了自信,更不能停下學習的腳步!所以今天就滿載著前四次所積累的...
紅皮書例項總結
經過乙個星期的時間,終於把紅皮書敲完了,現在來總結一下通過敲例子新了解到的知識。先奉上一張導圖,比較簡單,望見諒。其實紅皮書的五個例子都是比較簡單的,千萬不要被它的外表嚇著了,只要按著書上的步驟一步一步來,認真地敲 注意中英文,還有一些物件屬性等,乙個例子下來還是比較容易的。只是我敲的時候太馬虎,會...
紅皮書例項總結
前幾天敲完紅皮書以後,覺得收穫頗多。今天來總結一下。我當時這個錯誤頻頻發生,最後連自己都不知道是為什麼錯。因為是整個 段,不斷的出現報錯。後來,自己沒招了,就讓小夥伴來幫忙。首先,是自己的大小寫問題。我總是把microsoft寫成microsoft 我還總是天真的認為,這些不用我來改,他會自己變的。...