初識vb資料庫開發之執行個體5(資料查詢)

來源:互聯網
上載者:User

設計分析

 

  一般是先資料庫查詢有三種方法

 方法一:使用查詢參數構造SQL Select語句,然後使用ADO Command 對象或                                                                                 

               RecordSet 執行查詢語句

方法二:使用ADOCommand對象建立參數查詢。

方法三:先執行Select語句擷取資料庫資料,將其存放到RecordSet對象                        

               中,然後執行Recordset對象的Find方法尋找合格記錄 ,或 

               者設定Recordset對象的Filter屬性篩選合格記錄

 

技術要領

 

MSFlexGrid控制項的AddItem 方法用於向控制項添加一行資料。

    文法:      object.AddItem (string,index)

         其中,object為MSFlexGrid控制項名稱,string為包含資料的字串。如果需要同時添加行中的多列資料,可使用定位字元(vbTab)分隔字串。index為新增加行在控制項中的位置,第一行的index為0,如果省略index,則新增行成為控制項最後一行

        清除MSFlexGrid控制項中的資料可使用clear方法,如:MSFlexGrid1.clear也可以使用RemoveItem方法來刪除指定的行,如刪除第2行               

          MSFlexGrid1.RemoveItem(2)

 

使用command對象建立參數查詢

 步驟:

         (1)建立command對象,使用?作為select語句中的查詢參數。如:

                             Objcmd.commandtext="select*from 系統使用者 where 使用者名稱 like?"

       (2)使用command對象CreatParameter方法建立參數對象,然後將其添加到command對象的Parameters集合中

          如:建立一個名為“使用者名稱”的參數對象,然後將其添加到command對象objcmd的Parameters集合中

          

          dim Parm as new parameter          set parm =objcmd.createparameter("使用者名稱",advarchar,adparaminput,10)          objcmd.parameters.append parm

 

       (3)設定查詢參數的值。例如

       objcmd("使用者名稱")=“admin”

       (4)執行command對象的execute方法完成查詢

註:如果查詢參數在建立時沒有指定預設值,則在執行Execute方法前必須設定查詢參數的值,否則將產生錯誤

  

設計程式介面

編寫代碼

 

Dim objCn As Connection, objCmd As Command
Private Sub cmdQuery_Click()   Dim objRs As New Recordset  '定義局部記錄集對象      objCmd("使用者名稱") = "%" & TxtUser & "%" '獲得查詢參數    objCmd("身份") = "%" & TxtStatus & "%"      Set objRs = objCmd.Execute()   MSFlexGrid1.Cols = objRs.Fields.Count   '顯示列明    For i = 0 To objRs.Fields.Count - 1      MSFlexGrid1.TextMatrix(0, i) = objRs.Fields(i).Name   Next    '顯示查詢結果    Dim n As Integer        n = 0     While Not objRs.EOF        MSFlexGrid1.AddItem (objRs!使用者名稱 & vbTab & objRs!口令 _        & vbTab & objRs!身份)        n = n + 1        objRs.MoveNext        Wend        '顯示記錄的條數        Label4 = "共獲得" & n & "條查詢結果"   End Sub  '表單載入時建立資料庫的串連和command對象,並建立參數查詢。Private Sub Form_Load()   Set objCn = New Connection  '執行個體化connection對象objcn   strcn = "provider=microsoft.jet.oledb.4.0;persist security info=false;" & _     "data source=" & "D:\VB98\資料查詢\執行個體5.mdb"   objCn.ConnectionString = strcn '建立資料庫連接         objCn.Open   
  '建立執行參數查詢的command對象objcmd   Set objCmd = New Command   Set objCmd.ActiveConnection = objCn   With objCmd        .CommandText = "select * from 系統使用者 where 使用者名稱 like ?" & _         "and 身份 like ?"         .CommandType = adCmdText     End With      '為command對象objcmd 建立參數      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    Label4 = "" '清除標籤4    End SubPrivate Sub form_unload(cancel As Integer)   Set objCmd = Nothing   objCn.Close   Set objCn = NothingEnd Sub


 

運行結果

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.