同上

解决方案 »

  1.   

    类似于:
    m_strDescription=m_pRecordset->GetCollect("Description").bstrVal;
    要做相应的转换。
      

  2.   

    看你用什么方式连接数据库了,如果用ado,用楼上的方法;
    如果用ODBC MFC类,用
    CString sTemp;
    rs->GetFieldValue(1,sTemp);
      

  3.   

    CString strtmp;
    CRecordset rs;
    rs.Open( CRecordset::dynamic, "select * from table1", CRecordset::none );
    while( ! rs.IsEOF() )
    {
        rs.GetFieldValue( (long)0, strtmp );
        ...
        rs.GetFieldValue( (long)1, strtmp );
        ...
    }
    rs.Close()
      

  4.   

    我没有用任何记录集。就是一张表
    我期望用SQL语句来操作它,
    比如我用INSERT来添加一行数据,用ADD来添加属性列。用UPDATA来更改数据。
    但我怎么把数据给提取出来?
    我用select语句可以查找,但接下来怎么取得数据呢?
     
    多谢各位兄台!
      

  5.   

    俺明白了。csdn上有例子。各位提醒了我,真诚的感谢,分不多。多包涵,咱这就结帖!
    CDatabase db;
    db.OpenEx( NULL, CDatabase::forceOdbcDialog );// Create and open a recordset object
    // directly from CRecordset. Note that a
    // table must exist in a connected database.
    // Use forwardOnly type recordset for best
    // performance, since only MoveNext is required
    CRecordset rs( &db );
    rs.Open( CRecordset::forwardOnly,
             _T( "SELECT * FROM SomeTable" ) );// Create a CDBVariant object to
    // store field data
    CDBVariant varValue;// Loop through the recordset,
    // using GetFieldValue and
    // GetODBCFieldCount to retrieve
    // data in all columns
    short nFields = rs.GetODBCFieldCount( );
    while( !rs.IsEOF( ) )
    {
       for( short index = 0; index < nFields; index++ )
       {
          rs.GetFieldValue( index, varValue );
          // do something with varValue
       }
       rs.MoveNext( );
    }rs.Close( );
    db.Close( );