void CBLOBView::OnAddrecord() 
{
// TODO: Add your control notification handler code here
CDatabase* db;
db=m_pSet->m_pDatabase;
         ~~~~~~~~~~~~~~~~~~~~~~~~没有问题
CString strSQL;
strSQL="INSERT INTO MAP1 (MAP_NO) VALUES(3);";
db.ExecuteSQL(strSQL);

}
报错为:error C2228: left of '.ExecuteSQL' must have class/struct/union type
因为db不是变量而是指针
如果这样定义
void CBLOBView::OnAddrecord() 
{
// TODO: Add your control notification handler code here
CDatabase db;
db.OpenEx("ODBC;DSN=QQQ");
CString strSQL;
strSQL="INSERT INTO MAP1 (MAP_NO) VALUES(3);";
db.ExecuteSQL(strSQL);
}ok,但总要弹出连接对话框,请问如何把CRecordSET中已建立的连接传给变量db?

解决方案 »

  1.   

    CDatabase db;
    db.OpenEx(...)
    m_pSet->m_pDatabase = &db;
      

  2.   

    db->ExecuteSQL(strSQL);
    .      ???
    ->     ???
      

  3.   

    To VisualStudio:m_pSet->m_pDatabase是在recordset类中已经定义的,这样操作还是不能解
                    决问提啊,还是会再弹出数据源连接对话框的.
    To aben456:???
      

  4.   

    看看你的ODBC配置是否正确,以及OpenEx中的SQL语句是否正确