数据库开发红皮书实例遇到的一些问题:“找不到可安装的ISAM” “BOF或EOF中有一个是'真',或者当前的记录已被删除……”

敲例子的时候遇到了些麻烦,问题不大,解决了,正在消化,也希望能帮到被这些问题困扰着的朋友


1.第五个例子,使用ADO Command对象创建参数查询以查询数据库,使用MSFlexGrid控件以表格的方式显示查询结果,其中数据源连接是这么写的:


  Dim strcn As String
    Set objCn = New Connection '实例化Connection对象objCn
    strcn = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info =False;" & _
        "Data Source=" & App.Path & "\数据库\db1.mdb"
    objCn.ConnectionString = strcn '创建数据库连接
    objCn.Open



敲例子时误以为"Data"和"Source"是一个词,所以之间没有加空格,结果出现了:


数据库开发红皮书实例遇到的一些问题:“找不到可安装的ISAM” “BOF或EOF中有一个是'真',或者当前的记录已被删除……”_第1张图片

实在看不懂,上网找答案,以下文章给了很大的帮助:

        http://www.cnblogs.com/GuominQiu/archive/2011/06/08/2075034.html

             http://www.cnblogs.com/zyc2/archive/2005/06/28/182492.html


 大意失荆州啊!


     2.ADO Recordset 对象的EOF和BOF属性

               eof为测试当前记录位置是否位于记录集的最后一个记录之后,若是则true,同理,bof为测试是否在第一个记录之前。这两个属性和记录定位方法结合即可浏览RecordSet中的所有记录,这两个属性还可用于测试RecordSet是否为空,如果RecordSet不包含任何记录,则Bof和Eof属性同时为True,下列代码用于浏览非空RecordSet中的所有记录:

<span style="font-size:18px;">If Not (objRS.Bof And objRS.EOF) Then
    objRS.MoveFirst
    While Not objRS.EOF
    '执行代码处理当前记录
        objRS.MoveNext
    Wend
End If</span>

编程时弹窗如下,在周洲的博客里看到了类似的内容,(图片有原文链接)




     3.关于MSFlexGrid控件,如果行属性设置为2,那么查询显示出记录之后,所得记录前会多一条空表格,将其改为1即可解决,否则,这么看起来多么不舒服:


数据库开发红皮书实例遇到的一些问题:“找不到可安装的ISAM” “BOF或EOF中有一个是'真',或者当前的记录已被删除……”_第2张图片


     目前正致力于解决一个问题,想着输入关键词后,点击查询,控件列出结果,而后再次输入,在输入、修改的过程中,MSFlexGrid控件中的原数据以及原表格都清除,点击查询后再次显示新的查询结果。这儿有源码,希望朋友帮个忙,不胜感激。  问题已解决,

     我试图把代码写在txtUser和txtStatus的change事件中,还没成功…,  现已成功!

     用VB 6.0编程,使用ADO Command对象创建参数查询实现数据查询功能,创建参数查询按照如下顺序:创建Command对象,创建查询参数,设置查询参数值,执行查询

           

                 文章还是简单的知识拼凑,下一篇博客马上出炉…………

你可能感兴趣的:(数据库)