再顶一下,暂时用odbc locate方法实现了,还行

解决方案 »

  1.   

    void
    MySQLRecordSet::SeekRow(unsigned long lRowIndex)
    {
        assert(lRowIndex < GetRowNum());    mysql_data_seek(m_pSQLQuery, lRowIndex);
    }
    是不是要这样的?
    不是很明白
      

  2.   

    谢谢,不过不是这个意思,是对于一个没有重复值的列,指定一个值,根据这个值定位的具体的数据行,比方说存放了2,'aaa'  3,'bbb'  4,'ccc'三行,然后对于3这个值,把mysql的当前指针定位到第二行,就是类似ado的locate方法
      

  3.   

    像2,'aaa'  3,'bbb'  4,'ccc'这些值你是存放在数据库中的(是吧?),
    要定位的话,当然需要你Select,才返回一个结果集。
    如:char *lpszSQL = "select * from 表的名字 where 列名=3";
    mysql_query(m_pMySQL, lpszSQL);
    m_pSQLQuery = mysql_store_result(m_pMySQL);
    mysql_fetch_row(m_pSQLQuery);
    ado的locate方法在MySQL里好像没有,(MySQL好像没有提供在Recordset里查找的函数)
    你需要的话,只好自己做。(一般直接再从表里查一次,特殊需要除外)