首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

初识vb数据库开发之范例5(数据查询)

2012-08-11 
初识vb数据库开发之实例5(数据查询)设计分析一般是先数据库查询有三种方法 方法一:使用查询参数构造SQL Se

初识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方法前必须设置查询参数的值,否则将产生错误

  

设计程序界面

初识vb数据库开发之范例5(数据查询)

编写代码

 

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


 

运行结果

 

 

初识vb数据库开发之范例5(数据查询)

热点排行