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

Luksor

New member
22.12.2013
1
0
#1
ПОЖАЛУЙСТА ОЧЕНЬ НУЖНО!!!

Код
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