vb查询mysql数据库实例_初识vb数据库开发之实例5(数据查询)

设计分析

一般是先数据库查询有三种方法

方法一:使用查询参数构造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方法前必须设置查询参数的值,否则将产生错误

设计程序界面

1343131358_5342.png

编写代码

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 Sub

Private Sub form_unload(cancel As Integer)

Set objCmd = Nothing

objCn.Close

Set objCn = Nothing

End Sub

运行结果

1343131362_8825.png

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2012-07-24 12:31

浏览 587

评论

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值