已经联上数据库,但是不知道怎么写打开表的语句.          CDatabase sqlDB;
 CRecordset m_sql1,m_sql2;UpdateData();
   CString m_sql_serverip;
   CString m_sql_port;
   CString m_sql_username;
   CString m_sql_password;
   CString m_sql_dbname;
   m_sql_serverip="servername";
   m_sql_port="1435";
   m_sql_username="";
   m_sql_password="";
   m_sql_dbname="book7";
   CString sql;
   sql="select * from operator";
try
{
CString ConnStr = _T("Driver={SQL Server};Server="+m_sql_serverip+";Address="+m_sql_serverip+","+m_sql_port+";"
"Network=dbmssocn;Database="+m_sql_dbname+";Uid="+m_sql_username+";Pwd="+m_sql_password+";");
sqlDB.OpenEx(ConnStr,CDatabase::noOdbcDialog);
MessageBox("连接sql server 数据库成功!");
MessageBox(sqlDB.GetDatabaseName());
           (能正常显示连接的数据库名字)
         这里想写打开数据库book7中的表operator,不知道怎么写.(ado直接打开数据库,非odbc)

}catch(CDBException *e)
{
MessageBox(e->m_strError);
e->Delete();
}

return TRUE;   CDialog::OnCancel();

解决方案 »

  1.   

    m_pRecordset->Open(bstrSql,(IDispatch*)m_pConnection, adOpenDynamic, adLockOptimistic, adCmdText);
    bstrSql是sql语句,比如 SELECT * FROM operator
      

  2.   

    m_pConn.CreateInstance( __uuidof(Connection) );
    m_pRst.CreateInstance( __uuidof(Recordset) );
    m_pConn->ConnectionString = _T("Driver={SQL Server};Server="+m_sql_serverip+";Address="+m_sql_serverip+","+m_sql_port+";""Network=dbmssocn;Database="+m_sql_dbname+";Uid="+m_sql_username+";Pwd="+m_sql_password+";");m_pConn->Open( _T( "" ), _T( "" ), _T( "" ), 0 );m_pRst->Open( _T( "SELECT * FROM BOOK7" ),(IDispatch*)m_pConn, adOpenDynamic, adLockOptimistic, adCmdText );while( !m_pRst->ADOEOF)
    {
      m_pRst->MoveNext();
    }
    m_pRst->Close();
    m_pConn->Close();
      

  3.   

    sql语句 select * from table
    插入 insert into table...