强烈建议你使用ADO,我现在是用odbc的上当!

解决方案 »

  1.   

    ADO可不可以随意选择数据源呢?我不想限定某一数据库
      

  2.   

    当然可以啊!!你只要修改你的连接就行了!也就是CONNECTION对象的CONNECTIONSTRING。
      

  3.   

    CDatabase database;
    CString strConnection = _T("DSN=YourDataSourceName;UID=UserName;PWD=Password");
    BOOL bSucceeded = database.OpenEx(strConnection, CDatabase::openReadOnly);
    if(bSucceeded)
    {
        CRecordset rs;
        rs.m_pDatabase = &database;
        CString strSQL = ......;
        bSucceeded = rs.Open(CRecordset::snapshot, strSQL);
        ......
    }上例中,YourDataSourName可以是任何你ODBC数据源,strSQL是你想执行的任何SQL语句。
      

  4.   

    实际实施的时候,注意对exception的处理和出错返回的处理。
      

  5.   

    如果可以用MFC的话,还是不要用odbc吧。我只有在用纯c的时候才考虑用odbc或者db library for c