Разобраться В Ошибками

Тема в разделе "MS Visual C++", создана пользователем Luksor, 22 дек 2013.

  1. Luksor

    Luksor New Member

    Регистрация:
    22 дек 2013
    Сообщения:
    1
    Симпатии:
    0
    ПОЖАЛУЙСТА ОЧЕНЬ НУЖНО!!!

    Код
    Код (C++):
    void CBasaDlg::OnBnClickedButton1()
    {
    CDatabase database;
    CString SqlString;
    CString sCatID, sCategory;
    CString sDriver = _T("MICROSOFT ACCESS DRIVER (*.mdb)");
    CString sDsn;
    CString sFile = _T("c:\\Test.mdb");
    // You must change above path if it's different
    int iRec = 0;  

    // Build ODBC connection string
    sDsn.Format("ODBC;DRIVER={%s};DSN='';DBQ=%s",sDriver,sFile);
    TRY
    {
    // Open the database
    database.Open(NULL,false,false,sDsn);

    // Allocate the recordset
    CRecordset recset( &database );

    // Build the SQL statement
    SqlString = "SELECT CatID, Category "
    "FROM Categories";

    // Execute the query
    recset.Open(CRecordset::forwardOnly,SqlString,CRecordset::readOnly);
    // Reset List control if there is any data
    ResetListControl();
    // populate Grids
    ListView_SetExtendedListViewStyle(m_ListControl,LVS_EX_GRIDLINES);

    // Column width and heading
    m_ListControl.InsertColumn(0,"Category Id",LVCFMT_LEFT,-1,0);
    m_ListControl.InsertColumn(1,"Category",LVCFMT_LEFT,-1,1);
    m_ListControl.SetColumnWidth(0, 120);
    m_ListControl.SetColumnWidth(1, 200);

    // Loop through each record
    while( !recset.IsEOF() )
    {
    // Copy each column into a variable
    recset.GetFieldValue("CatID",sCatID);
    recset.GetFieldValue("Category",sCategory);

    // Insert values into the list control
    iRec = m_ListControl.InsertItem(0,sCatID,0);
    m_ListControl.SetItemText(0,1,sCategory);

    // goto next record
    recset.MoveNext();
    }
    // Close the database
    database.Close();
    }
    CATCH(CDBException, e)
    {
    // If a database exception occured, show error msg
    AfxMessageBox("Database error: "+e->m_strError);
    }
    END_CATCH;
    }



    void CBasaDlg::ResetListControl(void)
    {
    m_ListControl.DeleteAllItems();
    int iNbrOfColumns;
    CHeaderCtrl* pHeader = (CHeaderCtrl*)m_ListControl.GetDlgItem(0);
    if (pHeader)
    {
    iNbrOfColumns = pHeader->GetItemCount();
    }
    for (int i = iNbrOfColumns; i >= 0; i--)
    {
    m_ListControl.DeleteColumn(i);
    }
    }
    Ошибки, мне сказали, да и тут видно из ошибок что у меня конфликт типов данных. Но как это исправить не знаю.
    И что самое странное он подчеркивает только точки((
    Я в проекте ни чего не менял все стандартно, только вот этот код дописал

    1>------ Построение начато: проект: Basa, Конфигурация: Debug Win32 ------
    1> BasaDlg.cpp
    1>c:\users\guru\documents\visual studio 2012\projects\basa\basa\basadlg.cpp(174): error C2664: void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...): невозможно преобразовать параметр 1 из "const char [31]" в "const wchar_t *"
    1> with
    1> [
    1> BaseType=wchar_t,
    1> StringTraits=StrTraitMFC_DLL<wchar_t>
    1> ]
    1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
    1>c:\users\guru\documents\visual studio 2012\projects\basa\basa\basadlg.cpp(195): error C2664: int CListCtrl::InsertColumn(int,LPCTSTR,int,int,int): невозможно преобразовать параметр 2 из "const char [12]" в "LPCTSTR"
    1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
    1>c:\users\guru\documents\visual studio 2012\projects\basa\basa\basadlg.cpp(196): error C2664: int CListCtrl::InsertColumn(int,LPCTSTR,int,int,int): невозможно преобразовать параметр 2 из "const char [9]" в "LPCTSTR"
    1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
    1>c:\users\guru\documents\visual studio 2012\projects\basa\basa\basadlg.cpp(204): error C2664: void CRecordset::GetFieldValue(LPCTSTR,CDBVariant &,short): невозможно преобразовать параметр 1 из "const char [6]" в "LPCTSTR"
    1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
    1>c:\users\guru\documents\visual studio 2012\projects\basa\basa\basadlg.cpp(205): error C2664: void CRecordset::GetFieldValue(LPCTSTR,CDBVariant &,short): невозможно преобразовать параметр 1 из "const char [9]" в "LPCTSTR"
    1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
    1>c:\users\guru\documents\visual studio 2012\projects\basa\basa\basadlg.cpp(220): error C2678: бинарный "+": не найден оператор, принимающий левый операнд типа "const char [17]" (или приемлемое преобразование отсутствует)
    1> c:\program files (x86)\microsoft visual studio 11.0\vc\atlmfc\include\atlsimpstr.h(671): может быть "ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::eek:perator +(const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &,const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &)" [найдено при поиске с зависимостью от аргументов]
    1> with
    1> [
    1> BaseType=wchar_t,
    1> t_bMFCDLL=true
    1> ]
    1> c:\program files (x86)\microsoft visual studio 11.0\vc\atlmfc\include\atlsimpstr.h(682): или "ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::eek:perator +(const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &,const wchar_t *)" [найдено при поиске с зависимостью от аргументов]
    1> with
    1> [
    1> BaseType=wchar_t,
    1> t_bMFCDLL=true
    1> ]
    1> c:\program files (x86)\microsoft visual studio 11.0\vc\atlmfc\include\atlsimpstr.h(693): или "ATL::CSimpleStringT<BaseType,t_bMFCDLL> ATL::CSimpleStringT<BaseType,t_bMFCDLL>::eek:perator +(const wchar_t *,const ATL::CSimpleStringT<BaseType,t_bMFCDLL> &)" [найдено при поиске с зависимостью от аргументов]
    1> with
    1> [
    1> BaseType=wchar_t,
    1> t_bMFCDLL=true
    1> ]
    1> c:\program files (x86)\microsoft visual studio 11.0\vc\atlmfc\include\cstringt.h(2326): или "ATL::CStringT<BaseType,StringTraits> ATL::CStringT<BaseType,StringTraits>::eek:perator +(const ATL::CStringT<BaseType,StringTraits> &,const ATL::CStringT<BaseType,StringTraits> &)" [найдено при поиске с зависимостью от аргументов]
    1> with
    1> [
    1> BaseType=wchar_t,
    1> StringTraits=StrTraitMFC_DLL<wchar_t>
    1> ]
    1> c:\program files (x86)\microsoft visual studio 11.0\vc\atlmfc\include\cstringt.h(2337): или "ATL::CStringT<BaseType,StringTraits> ATL::eek:perator +(const ATL::CStringT<BaseType,StringTraits> &,const wchar_t *)" [найдено при поиске с зависимостью от аргументов]
    1> with
    1> [
    1> BaseType=wchar_t,
    1> StringTraits=StrTraitMFC_DLL<wchar_t>
    1> ]
    1> c:\program files (x86)\microsoft visual studio 11.0\vc\atlmfc\include\cstringt.h(2348): или "ATL::CStringT<BaseType,StringTraits> ATL::eek:perator +(const wchar_t *,const ATL::CStringT<BaseType,StringTraits> &)" [найдено при поиске с зависимостью от аргументов]
    1> with
    1> [
    1> BaseType=wchar_t,
    1> StringTraits=StrTraitMFC_DLL<wchar_t>
    1> ]
    1> c:\program files (x86)\microsoft visual studio 11.0\vc\atlmfc\include\cstringt.h(2365): или "ATL::CStringT<BaseType,StringTraits> ATL::CStringT<BaseType,StringTraits>::eek:perator +(const ATL::CStringT<BaseType,StringTraits> &,char)" [найдено при поиске с зависимостью от аргументов]
    1> with
    1> [
    1> BaseType=wchar_t,
    1> StringTraits=StrTraitMFC_DLL<wchar_t>
    1> ]
    1> c:\program files (x86)\microsoft visual studio 11.0\vc\atlmfc\include\cstringt.h(2377): или "ATL::CStringT<BaseType,StringTraits> ATL::CStringT<BaseType,StringTraits>::eek:perator +(char,const ATL::CStringT<BaseType,StringTraits> &)" [найдено при поиске с зависимостью от аргументов]
    1> with
    1> [
    1> BaseType=wchar_t,
    1> StringTraits=StrTraitMFC_DLL<wchar_t>
    1> ]
    1> c:\program files (x86)\microsoft visual studio 11.0\vc\atlmfc\include\cstringt.h(2390): или "ATL::CStringT<BaseType,StringTraits> ATL::CStringT<BaseType,StringTraits>::eek:perator +(const ATL::CStringT<BaseType,StringTraits> &,wchar_t)" [найдено при поиске с зависимостью от аргументов]
    1> with
    1> [
    1> BaseType=wchar_t,
    1> StringTraits=StrTraitMFC_DLL<wchar_t>
    1> ]
    1> c:\program files (x86)\microsoft visual studio 11.0\vc\atlmfc\include\cstringt.h(2402): или "ATL::CStringT<BaseType,StringTraits> ATL::CStringT<BaseType,StringTraits>::eek:perator +(wchar_t,const ATL::CStringT<BaseType,StringTraits> &)" [найдено при поиске с зависимостью от аргументов]
    1> with
    1> [
    1> BaseType=wchar_t,
    1> StringTraits=StrTraitMFC_DLL<wchar_t>
    1> ]
    1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\comutil.h(173): или "_bstr_t operator +(const char *,const _bstr_t &)"
    1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\comutil.h(174): или "_bstr_t operator +(const wchar_t *,const _bstr_t &)"
    1> при попытке сопоставить список аргументов "(const char [17], CString)"
    ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
    А суть была токая что нужно было указать базу данных access и она выдалась бы в списке ListControl.
    Вот это нужно было реализовать
    Вот сам проект в 2012

    http://www.fayloobmennik.net/3440875
     
Загрузка...

Поделиться этой страницей