vb查询mysql数据库实例_初识vb数据库开发之实例5(数据查询)
設(shè)計(jì)分析
一般是先數(shù)據(jù)庫查詢有三種方法
方法一:使用查詢參數(shù)構(gòu)造SQL Select語句,然后使用ADO Command 對象或
RecordSet 執(zhí)行查詢語句
方法二:使用ADOCommand對象創(chuàng)建參數(shù)查詢。
方法三:先執(zhí)行Select語句獲取數(shù)據(jù)庫數(shù)據(jù),將其存放到RecordSet對象
中,然后執(zhí)行Recordset對象的Find方法查找符合條件的記錄 ,或
者設(shè)置Recordset對象的Filter屬性篩選符合條件的記錄
技術(shù)要領(lǐng)
MSFlexGrid控件的AddItem 方法用于向控件添加一行數(shù)據(jù)。
語法:object.AddItem (string,index)
其中,object為MSFlexGrid控件名稱,string為包含數(shù)據(jù)的字符串。如果需要同時添加行中的多列數(shù)據(jù),可使用制表符(vbTab)分隔字符串。index為新增加行在控件中的位置,第一行的index為0,如果省略index,則新增行成為控件最后一行
清除MSFlexGrid控件中的數(shù)據(jù)可使用clear方法,如:MSFlexGrid1.clear也可以使用RemoveItem方法來刪除指定的行,如刪除第2行
MSFlexGrid1.RemoveItem(2)
使用command對象創(chuàng)建參數(shù)查詢
步驟:
(1)創(chuàng)建command對象,使用?作為select語句中的查詢參數(shù)。如:
Objcmd.commandtext="select*from 系統(tǒng)用戶 where 用戶名 like?"
(2)使用command對象CreatParameter方法創(chuàng)建參數(shù)對象,然后將其添加到command對象的Parameters集合中
如:創(chuàng)建一個名為“用戶名”的參數(shù)對象,然后將其添加到command對象objcmd的Parameters集合中
dim Parm as new parameter
set parm =objcmd.createparameter("用戶名",advarchar,adparaminput,10)
objcmd.parameters.append parm
(3)設(shè)置查詢參數(shù)的值。例如
objcmd("用戶名")=“admin”
(4)執(zhí)行command對象的execute方法完成查詢
注:如果查詢參數(shù)在創(chuàng)建時沒有指定默認(rèn)值,則在執(zhí)行Execute方法前必須設(shè)置查詢參數(shù)的值,否則將產(chǎn)生錯誤
設(shè)計(jì)程序界面
編寫代碼
Dim objCn As Connection, objCmd As Command
Private Sub cmdQuery_Click()
Dim objRs As New Recordset '定義局部記錄集對象
objCmd("用戶名") = "%" & TxtUser & "%" '獲得查詢參數(shù)
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
'顯示查詢結(jié)果 Dim n As Integer
n = 0
While Not objRs.EOF
MSFlexGrid1.AddItem (objRs!用戶名 & vbTab & objRs!口令 _
& vbTab & objRs!身份)
n = n + 1
objRs.MoveNext
Wend
'顯示記錄的條數(shù)
Label4 = "共獲得" & n & "條查詢結(jié)果"
End Sub
'窗體加載時創(chuàng)建數(shù)據(jù)庫的連接和command對象,并建立參數(shù)查詢。Private Sub Form_Load()
Set objCn = New Connection '實(shí)例化connection對象objcn
strcn = "provider=microsoft.jet.oledb.4.0;persist security info=false;" & _
"data source=" & "D:\VB98\數(shù)據(jù)查詢\實(shí)例5.mdb"
objCn.ConnectionString = strcn '創(chuàng)建數(shù)據(jù)庫連接
objCn.Open
'創(chuàng)建執(zhí)行參數(shù)查詢的command對象objcmd Set objCmd = New Command
Set objCmd.ActiveConnection = objCn
With objCmd
.CommandText = "select * from 系統(tǒng)用戶 where 用戶名 like ?" & _
"and 身份 like ?"
.CommandType = adCmdText
End With
'為command對象objcmd 創(chuàng)建參數(shù)
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 = "" '清除標(biāo)簽4
End Sub
Private Sub form_unload(cancel As Integer)
Set objCmd = Nothing
objCn.Close
Set objCn = Nothing
End Sub
運(yùn)行結(jié)果
分享到:
2012-07-24 12:31
瀏覽 587
評論
總結(jié)
以上是生活随笔為你收集整理的vb查询mysql数据库实例_初识vb数据库开发之实例5(数据查询)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深入了解浏览器存储
- 下一篇: mysql业务繁忙时能建索引吗_MySQ