亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

VB & 數據庫交互(二)——經典五實例總結

系統 1841 0

上一篇講到了 VB 與數據庫交互的必備知識,這張從經典實例的方向出發,講述一些經典的代碼。

1,在系統登錄的例子中:

VB & 數據庫交互(二)——經典五實例總結

a, 建立數據庫連接,和執行查詢命令 :

    
      '建立數據庫連接
 set objcn=new Connection'實例化Connection對象
objcn.ConnectionString = "Provider=Microsoft.jet.OLEDB.3.51;" & _
                         "Data Source =" & App.Path & "\實例1.mdb" '連接數據庫,包括連接方式和數據源路徑
objcn.Open
'執行查詢命令,獲得用戶登錄口令
strSQL = "select 口令 from 系統用戶 where 用戶名='" & UserName & "'"
Set objrs.ActiveConnection = objcn
objrs.Open (strSQL)
    
  

b, 關閉數據庫,釋放對象

    
      objcn.Close
Set objrs = Nothing
Set objcn = Nothing
    
  


2. 在記錄瀏覽例子中

VB & 數據庫交互(二)——經典五實例總結

a,顯示當前記錄:

    
      txtUserName = objrs.Fields("用戶名").Value
txtPassword = objrs.Fields("口令").Value
txtmsg = objrs.AbsolutePosition & "/" & objrs.RecordCount
    
  


b , 向前向后翻記錄:

    
      objrs.MovePrevious'使前一記錄成為當前記錄
    
  
    
      '如果記錄指針指向第一個記錄之前,則使其指向第一個記錄集。
Ifobjrs.BOF Then objrs.MoveFirst     
objrs.MoveNext'使下一記錄成為當前記錄
If objrs.EOF Thenobjrs.MoveLast

    
  
    
    
  

d. 更新保存記錄

    
      objrs.Fields("用戶名").Value = txtUserName
objrs.Fields("口令").Value = txtPassword
objrs.Update '執行更新操作

    
  

3,在數據綁定瀏覽記錄實例中,主要使用了ADO Data控件

VB & 數據庫交互(二)——經典五實例總結

這個例子主要是通過ADD Data控件將數據庫和VB控件連接起來了,通過ADDData控件的前后按鈕,就可以將數據庫中數據瀏覽的很好!

4,在分頁顯示記錄中,

VB & 數據庫交互(二)——經典五實例總結

使用了DataGrid控件來顯示數據,中間通過一個新的記錄集,將分頁的數據傳到Data Grid 控件上,這樣來實現分頁顯示數據的。

在這里我想說一下datagrid控件和msflexgrid控件的區別:

在分頁顯示記錄中需要顯示當前記錄頁數據,方法一:使用DataGrid控件;DataGrid控件可顯示記錄集中的全部數據,所以不能直接將分頁的記錄集綁定到DataGrid控件,需要先將當前記錄頁中的記錄復制到一個新的記錄集中,再將其綁定到DataGrid控件,便可顯示當前記錄也數據。方法二:使用MSFlexGrid控件;其可在設計時將其綁定到Data控件,在運行時,則可通過設置控件的TextMatrix屬性來顯示數據。MSFlexGrid控件比較靈活因為其有TextMatrix屬性(設置和返回控件任意單元格的文本內容),所以在做顯示數據時,直接可通過循環在其中填充數據(數據有靈活性,可填充一部分,也可全部填充,所以分頁顯示效果較容易實現)。

a 創建一個局部recordset對象保存objrs當前記錄頁數據

    
      Dim objdatasource As New Recordset
For intRecord = 0 To objrs.Fields.Count - 1
     objdatasource.Fields.Append objrs.Fields(intRecord).Name, adVarChar,          
           objrs.Fields(intRecord).DefinedSize 
Next

    
  

b,將當前頁的記錄數據寫到objDataSource中:

    
      For intRecord = 1 To objrs.PageSize '將當前記錄頁中數據寫入objdatasource中
    objdatasource.AddNew
    objdatasource!用戶名 = objrs!用戶名
    objdatasource!口令 = objrs!口令 ' 感嘆號“!”常用于當一個控件作為一個特性訪問的情況下,
      '例如如引用Fomr2中Text1文本框文本屬性時,可采用response$=Form2!text1.text語法格式。
    objdatasource!身份 = objrs!身份
    objrs.MoveNext
    If objrs.EOF Then Exit For
 Next

    
  

5 ,在數據查詢實例中, 本例使用了 ADO Command 對象創建參數查詢。

VB & 數據庫交互(二)——經典五實例總結

a,創建執行參數查詢的Command對象objcmd:

    
      Set objcmd = New Command '創建執行參數查詢的command對象objcmd
Set objcmd.ActiveConnection = objcn
With objcmd
      .CommandText = "select * from 系統用戶 where 用戶名 like?" & "and 身份 like?"
      .CommandType = adCmdText

End With
    
  


b, 使用 command 對象 createparameter 創建參數對象,然后將其添加到 command 對象的 parameters 集合中。

    
       Dim parm As New Parameter
Set parm = objcmd.CreateParameter("用戶名", adVarChar, adParamInput, 10)
objcmd.Parameters.Append parm
Set parm = objcmd.CreateParameter("身份", adVarChar, adParamInput, 10)
objcmd.Parameters.Append parm

    
  

c, 獲得查詢參數,執行查詢結果:

    
       Dim objrs As New Recordset '定義局部記錄集對象
objcmd("用戶名") = "%" & txtuser & "%" '獲得查詢參數,%作用是,取只有包含txtuser字符串的即可
objcmd("身份") = "%" & txtstatus & "%"
Set objrs = objcmd.Execute() '執行查詢,獲得查詢結果記錄集

MSFlexGrid1.Cols = objrs.Fields.Count
    
  


d, 顯示列名,和查詢結果

    
      '顯示列名
For i = 0 To objrs.Fields.Count - 1
    MSFlexGrid1.TextMatrix(0, i) = objrs.Fields(i).Name
Next
'顯示查詢結果
n = 0
While Not objrs.EOF
        MSFlexGrid1.AddItem (objrs.Fields(0) & vbTab & objrs.Fields(1) & vbTab & objrs!身份)
             '在這里objrs.fields(0)和objrs!用戶名  的效果是相同的
       n = n + 1
       objrs.MoveNext
Wend

    
  


這些代碼都是一些經典的實現部分,非常有用,為我們后邊的學生信息系統會打下很好的基石!就像我們蓋房子一樣,這些都是磚瓦泥灰,是我們砌成高樓大廈的基礎!

VB & 數據庫交互(二)——經典五實例總結


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日本老熟妇激情毛片 | 久久爱影视i | 99国产精品久久久久久久... | 精品免费视在线视频观看 | 福利视频中文在线观看 | 天天插天天射天天操 | 伊人干综合网 | 亚洲视频中文字幕在线 | 精品久久一区二区三区 | 国产精品一区在线播放 | 亚洲欧美综合国产不卡 | 99久国产| 久久久免费精品视频 | 国产欧洲亚洲 | 国产美女白丝袜精品_a不卡 | 国产高清国产专区国产精品 | 国产色在线 | 亚洲 国产色在线视频 | 91成人国产| 伊人久久久久久久久香港 | 成人深夜视频在线观看 | 欧美精品xxxⅹ欧美 欧美精品成人 | 欧美毛片日韩一级在线 | 国产在线播放一区二区 | 久久国产加勒比精品无码 | 前田香织一区二区中文字幕 | 在线观看福利网站 | 秒播影视 午夜福利毛片 | 岛国一级毛片 | 久久久免费精品视频 | 九九九精品视频免费 | 亚洲一在线 | 一级二级三级毛片 | 精品一区二区三区在线播放 | 天天操女人 | 老司机午夜精品视频在线观看免费 | 久久精品av77777 | 91视频网址入口 | 日韩 欧美 中文字幕 不卡 | 亚洲天堂一区 | 精品国产福利在线 | 伊人精品国产 |