程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> c++-MFC ADO OnSelchangeListaccess()報錯問題

c++-MFC ADO OnSelchangeListaccess()報錯問題

編輯:編程解疑
MFC ADO OnSelchangeListaccess()報錯問題

之前沒用過ADO,學習過程中使用OnSelchangeListaccess()報錯了,代碼如下:

 BOOL CDataBaseMFCTestDlg::OnInitDialog()
{
    CDialogEx::OnInitDialog();

    // 將“關於...”菜單項添加到系統菜單中。

    // IDM_ABOUTBOX 必須在系統命令范圍內。
    ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
    ASSERT(IDM_ABOUTBOX < 0xF000);

    CMenu* pSysMenu = GetSystemMenu(FALSE);
    if (pSysMenu != NULL)
    {
        BOOL bNameValid;
        CString strAboutMenu;
        bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
        ASSERT(bNameValid);
        if (!strAboutMenu.IsEmpty())
        {
            pSysMenu->AppendMenu(MF_SEPARATOR);
            pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
        }
    }

    // 設置此對話框的圖標。  當應用程序主窗口不是對話框時,框架將自動
    //  執行此操作
    SetIcon(m_hIcon, TRUE);         // 設置大圖標
    SetIcon(m_hIcon, FALSE);        // 設置小圖標

    ////////////////////////////////////////////////////////////////////////////////////////////

    // 使用ADO創建數據庫記錄集  
    m_pRecordset.CreateInstance(__uuidof(Recordset));
    // 在ADO操作中建議語句中要常用try...catch()來捕獲錯誤信息,  
    // 因為它有時會經常出現一些想不到的錯誤。jingzhou xu  
    try
    {
        m_pRecordset->Open("SELECT * FROM DemoTable",                // 查詢DemoTable表中所有字段  
            theApp.m_pConnection.GetInterfacePtr(),  // 獲取庫接庫的IDispatch指針  
            adOpenDynamic,
            adLockOptimistic,
            adCmdText);
    }
    catch (_com_error& e)
    {
        dump_com_error(e);
    }

    /////////////////////////////////////////////////////////////////////////////////////////////////////
    _variant_t var;
    CString strName, strAge;
    // 清空列表框  
    m_AccessList.ResetContent();
    strName = strAge = "";
    // 在ADO操作中建議語句中要常用try...catch()來捕獲錯誤信息,  
    // 因為它有時會經常出現一些想不到的錯誤。jingzhou xu  
    try
    {
        if (!m_pRecordset->BOF)
            m_pRecordset->MoveFirst();
        else
        {
            AfxMessageBox("表內數據為空");
            return false;
        }
        // 讀入庫中各字段並加入列表框中  
        while (!m_pRecordset->adoEOF)
        {
            var = m_pRecordset->GetCollect("Name");
            if (var.vt != VT_NULL)
                strName = (LPCSTR)_bstr_t(var);
            var = m_pRecordset->GetCollect("Age");
            if (var.vt != VT_NULL)
                strAge = (LPCSTR)_bstr_t(var);
            m_AccessList.AddString(strName + " --> " + strAge);
            m_pRecordset->MoveNext();
        }
        // 默認列表指向第一項,同時移動記錄指針並顯示  
        m_AccessList.SetCurSel(0);
        OnSelchangeListaccess();
    }
    catch (_com_error& e)
    {
        dump_com_error(e);
    }


    return TRUE;  // 除非將焦點設置到控件,否則返回 TRUE

}

說OnSelchangeListaccess()未定義標識符,原因在哪

最佳回答:


OnSelchangeListaccess()方法是否存在,大小寫是否正確,是否缺少頭文件。

qq_28254507
caozhy
qq_28254507
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved