_ConnectionPtr 用他执行完SQL语句之后,如"select * from test" 得到了很多条数据,返回_RecordsetPtr 类型,现在我像得到工得到了多少条数据,并一次的取出数据,该怎么做 .我看到MOVE MOVENEXT MOVEFIRST等,怎么用?

解决方案 »

  1.   

    ADO 不像 CPtrList  有GetCount() &GetHeadPosition(); 函数,该怎么用呢 ?
      

  2.   

    如果用movenext()函数 得到的数据怎么赋值呢?   比如得到的数据应该是好几条是字符串怎么各自赋值?
      

  3.   

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdmthmovefirstxvc.asp
      

  4.   

    case 3:
                pRstTemp->MoveNext();
                if (pRstTemp->EndOfFile) {
                   printf("\nAlready at end of recordset!\n");
                   pRstTemp->MoveLast();
                }    // End If
                break;
     我发现_RecordsetPtr 没有EndOfFile 变量呀?
      

  5.   

    pRstTemp->MoveNext(); 我用这个是对的,取出的数据也是对的 ,但是pRstTemp->MoveLast();就错了,异常.....
      

  6.   

    CDB db;
    _RecordsetPtr rs;
    CString sSql;
    int Res; sSql = "select * from test";
    Res = db.Connect("Provider=oraoledb.oracle;DataSource=gigi;","color","color"); if(Res != 0)
    return; rs = db.Exec(sSql); if(rs->adoEOF)
    {
    return;
    }
    rs->MoveLast();
    if(rs->BOF)
    return;
    CString  tmp = (CString)rs->GetCollect("errorcode");
    CString temp = (CString)rs->GetCollect("errormsg");

    AfxMessageBox("ERRORCODE is " + tmp  + " AND ERRORMSG is" + temp);CDB是我自己包的一个类,用来连接数据源,执行SQL语句的.   帮我看一下哪错了!!!
      

  7.   

    http://blogger.org.cn/blog/more.asp?name=chasetang&id=11576