日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

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

系統 2130 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條評論
主站蜘蛛池模板: 精河县| 临桂县| 无为县| 兴宁市| 徐州市| 广河县| 黄龙县| 芦山县| 基隆市| 濮阳县| 隆安县| 长子县| 黔东| 师宗县| 张家界市| 赣榆县| 宝坻区| 阳西县| 雷波县| 新昌县| 蒲江县| 弥勒县| 星座| 东阳市| 泾川县| 克山县| 新化县| 河源市| 麻江县| 惠州市| 洪雅县| 融水| 隆尧县| 沽源县| 昌平区| 津南区| 房产| 扶沟县| 鄱阳县| 怀宁县| 万安县|