在不用odbc的前提下,如何用ADO直接访问vfp6的数据库文件?(在vb6中)
http://www.csdn.net/expert/topic/199/199160.shtm

解决方案 »

  1.   

             各种链接数据库的方法 1、用JET引擎、ODBC和数据控件进行连接
        要Q设置好ODBC
        dim conn as database
        dim rs   as recordset
        dim sql  as string    '链接到数据库
        data1.connect="ODBC;DSN=用户数据源名称;UID=;PWD="
        sql="select * from 表名"
        data1.recordsource=sql    'connect each of the text boxes with the appropriate fieldname
        text1.datafield="表中的列"                    2、用JET引擎、ODBC和DAO进行连接
        要Q设置好ODBC
        '为了在整个程序中可对数据进行处理,要在声明处定Y两个数据库对象
        dim conn as database
        dim rs   as recordset
        dim sql  as string    '链接到数据库
        set conn=opendatabase("用户数据源名称",false,false,"ODBC;UID=;PWD="
        set rs=conn.openrecordset(sql)    '只有执行下面语句才能得到正确的记录数
        rs.movelaster
        form1.caption=str(rs.recordcount)    '关闭数据库并free内存
        rs.close
        conn.close
        set rs=nothing
        set conn=nothing                    3、使用SQL通过选项
        要Q设置好ODBC
        dim sconn as string
        
        '链接到数据库
        sconn="ODBC;DSN=用户数据源名称;UID=;PWD="
        data1.options=dbsqlpassthrough
        data1.onnect=sconn
        data1.recordsettype=vbrstypesnapshot
        data1.recordsource="select * from news"
        data1.refresh    优点: 对于网络内远程位置的数据库来说,使用“通过”查询也是相当有利的。这时不需通过网络传送数量巨大的数据,数据库自己可完成全部处理工作,并只向ODBC和VB返回一个简短的集。                    4、用远程数据控件进行连接
        要Q设置好ODBC
        dim str as string
        
        str="select * from 表"
        rdc.connect="DSN=数据库文件;UID=;PWD=;"
        rdc.sql=sql
        rdc.resultsettpue=rdopenkeyset
        rdc.locktype=rdconcurrowver
        rdc.cursordriver=rduseifneeded
        rdc.keysetsize=0
        rdc.rowsetsize=100
        rdc.options=0