我会打开ACCESS的,是这样
CString str;str.Format("ODBC;DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)};DBQ=f:\\test.mdb);CDatabase database;database.Open(NULL,false,false,str);那么如何打开Sql server和oracle数据库?(已经创建了数据源)
我认为是str这个字符串参数不一样吧,该怎么写呢?最好能给段代码的例子,万分感激,100送上

解决方案 »

  1.   

    str.Format("DSN=ODBCName; UID=***; PWD=***);
    CDatabase database;database->OpenEx( str, CDatabase::noOdbcDialog);
      

  2.   

    写错了,漏掉一个引号。是str.Format("DSN=ODBCName; UID=***; PWD=***");
      

  3.   

    这里有很多例子:
    http://www.vckbase.com/document/
      

  4.   

    好象应该是:
    CDatabase gdb;
    gdb.Open("odbcname",false,false,"odbc;UID=***;PWD=***");gdb.Close();最好去查一下msdn的CDatabase类的用法
      

  5.   

    str.Format("Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=Username;Pwd=asdasd;" )
      

  6.   

    ODBC open SQL server database
    CDatabase db;
    db.OpenEx("DRIVER={SQL 
    Server};Server=Cell;DATABASE=zhg;UID=sa;PWD=;");//change Cell to your computer name
    //change zhg to your database name
    CRecordset rs(&db);
    rs.Open(AFX_DB_USE_DEFAULT_TYPE,"select type,AVG(price)'average price' From title  where type<>'business' group by type");
    while(rs.IsEOF()==false)
    {
    CString str;
    CString strtype;
    rs.GetFieldValue((short)0,strtype);
    CDBVariant varprice;
    rs.GetFieldValue(1,varprice);
    str.Format("type:%s,avg(price):%f",strtype,varprice.m_dblVal);
    AfxMessageBox(str);
    rs.MoveNext();
    }
    rs.Close();
    db.Close();