调用CRecordSet的Open方法,第二个参数是SQL语句。

解决方案 »

  1.   

    用ADO吧,用过ASP连数据库的人都会的,绝对方便。
    http://www.vckbase.com/document/finddoc.asp?keyword=ADO
      

  2.   

    其实过程就如搂主所说的那样。你先做一个CDatabase对象连接到数据库,这个对象在你的程序运行中始终保持连接,然后你的CRecordSet对象连接到CDatabase对象,然后你就可以通过CRecordSet::Open()打开你需要的表了,你可以关闭这个表,在打开别的表,也可以传送SQL语句到CRecordSet对象中让她Requery()。
      

  3.   

    不用那么费劲的,你可以有一个CRecordset, 用Open打开后操作,然后关闭,再Open另外一个,如此这般,直到将所有的表处理完毕。这是只有一个问题:就是每个表的结构不一样时怎么存取字段数据可以直接用字段号(0-n)对字段进行操作,如果库结构一样那就更省事了。当然打开表后你能知道都是什么字段,其名字和类型也能得知。
      

  4.   

    我用
    CDatabase *my=NULL;
    CRecordSet *myset=NULL;
    my->OpenEx(_T("ODBC;DSN=datatest;UID=sa;PWD=pwd;UIDDBMS=mydatabase")
    myset->Open(CRecordset::dynaset,_T( "Select * from t_1")
    可是就是不对啊,该怎么做呢???
      

  5.   

    我用的是SQL SERVER的数据库,ODBC的连接字符串对吗???
      

  6.   

    我觉得你写的my和myset没连接上,请参考以下:
    CDatabase my;
    my.OpenEx("DSN=datatest");
    CRecordset myset(&my);
    myset.Open(CRecordset::dynaset,"Select * from t_1");
      

  7.   

    现在又要用SYBASE数据库,快点帮忙啊
      

  8.   

    你要读多个表在一个窗口中么,如果是的话说明这些数据是可以有一个表组成的,你为什么要用多个表呢?如果不是的话,
        CString  sDSN="ODBC;DRIVER=Microsoft Access Driver (*.mdb);DSN='';DBQ=mydb.mdb";
    if(m_database.Open(NULL,FALSE,FALSE,sDSN,FALSE))
    {
            CString strSQL="select * from ask";
    m_pSet=new askset();
    m_pSet->Open(CRecordset::dynaset,strSQL);
    }
    else MessageBox("Can't open database");
     m_addname=m_pSet->m_name1;
      

  9.   

    用_connectionPtr连接数据库,_recordsetPtr返回记录集
      

  10.   

    请再详细一点,我用的是SYBASE,急啊