none
error C2146: syntax error : missing ';' before identifier 'm_db' RRS feed

  • 问题

  • 提示如下错误,不知如何解决?

    --------------------Configuration: CRDBS - Win32 Debug--------------------
    Compiling...
    RDBS.cpp
    D:......\RDBS.cpp(25) : error C2146: syntax error : missing ';' before identifier 'm_db'
    D:......\RDBS.cpp(25) : fatal error C1004: unexpected end of file found
    Error executing cl.exe.

    CRDBS.exe - 2 error(s), 0 warning(s)

    其中RDBS.cpp的代码如下:

    // CRDBSLogin.cpp : implementation file
    //

    #include "stdafx.h"
    #include "CRDBS.h"
    #include "CRDBSLogin.h"
    #include "CRDBSDlg.h"

     

     


    #ifdef _DEBUG
    #define new DEBUG_NEW
    #undef THIS_FILE
    static char THIS_FILE[] = __FILE__;
    #endif

     

    /////////////////////////////////////////////////////////////////////////////
    // CCRDBSLogin dialog

    extern CDatabase m_db;

    CCRDBSLogin::CCRDBSLogin(CWnd* pParent /*=NULL*/)
     : CDialog(CCRDBSLogin::IDD, pParent)
    {
     //{{AFX_DATA_INIT(CCRDBSLogin)
     m_bPassword = _T("dbaccess");
     m_bUsername = _T("dbaccess");
     m_bDSN = _T("crm");
     //}}AFX_DATA_INIT
    }


    void CCRDBSLogin::DoDataExchange(CDataExchange* pDX)
    {
     CDialog::DoDataExchange(pDX);
     //{{AFX_DATA_MAP(CCRDBSLogin)
     DDX_Text(pDX, IDC_PASSWORD, m_bPassword);
     DDX_Text(pDX, IDC_USERNAME, m_bUsername);
     DDX_Text(pDX, IDC_DSN, m_bDSN);
     //}}AFX_DATA_MAP
    }


    BEGIN_MESSAGE_MAP(CCRDBSLogin, CDialog)
     //{{AFX_MSG_MAP(CCRDBSLogin)
     //}}AFX_MSG_MAP
    END_MESSAGE_MAP()

    /////////////////////////////////////////////////////////////////////////////
    // CCRDBSLogin message handlers

    void CCRDBSLogin::OnOK()
    {
     // TODO: Add extra validation here
     UpdateData(true);
     
     CString strConnect;
     strConnect.Format("DSN=%s;UID=%s;PWD=%s",m_bDSN,m_bUsername,m_bPassword);
     //打开数据库的连接,并且捕获异常
     TRY{
      m_db.OpenEx(strConnect,CDatabase::noOdbcDialog);
     }
     CATCH(CDBException,ex)
     {
      AfxMessageBox (ex->m_strError);
      AfxMessageBox (ex->m_strStateNativeOrigin);  
     }
     AND_CATCH(CMemoryException,pEx)
     {
      pEx->ReportError();
      AfxMessageBox ("memory exception");
     }
     AND_CATCH(CException,e)
     {
      TCHAR szError[100];
      e->GetErrorMessage(szError,100);
      AfxMessageBox (szError);
     }
     END_CATCH
      CDialog::OnOK();
    }

    void CCRDBSLogin::OnCancel()
    {
     // TODO: Add extra cleanup here
     
     CDialog::OnCancel();
    }

     

    2010年10月15日 9:24

答案

全部回复