我用CRecordset  rs  
 
还用struct  x                            
           {  
     CString  aa;  
     CString  bb;  
     CString  cc;  
     CString  dd;  
     CString  ee;  
     }xx;        //定义了结构变量xx  
 
最后,经过查询后有结果的rs赋值给xx  
     xx=rs  
程序编译错误!!!  
 
但用rs.GetFieldValue("c",theStr)只能一个字段一个字段的赋值。  
 
有整体赋值的方法吗?  

解决方案 »

  1.   

    用的是ODBC的方式连接数据库源代码如下:
    CDatabase conn;
    CString theStr;
    struct x             
    {
       CString aa;
       CString bb;
       CString cc;
       CString dd;
       CString ee;
       }xx;     conn.OpenEx("DSN=test"); 
    conn.ExecuteSQL("update book set a='fuck' where a='3'") ;
    CRecordset rs(&conn);
    rs.Open( AFX_DB_USE_DEFAULT_TYPE, "select c from book where a='fuck'");      xx = rs;
      

  2.   

    当然不可以了建议你去看看C++你怎么能把一个类的实例给一个结构呢你的结构和CRecordset 又没有一点关系。
      

  3.   

    但是,另外定义了一个新的实例,同样是不行的,然后赋值给rsCRecordset rrsrrs=rs编译告诉我不支持等号,到底两个实例间应该如何赋值呢?
      

  4.   

    最好试试CRecordset *rs;就是指针啦