У меня была такая же проблема, когда я начал с ADO. (подчеркнуто красным, не могу найти ...)
Это сводило меня с ума, но после простой компиляции подчеркивание исчезло, и все работало нормально.
я использую
#import "C:\Program\Delade filer\System\ado\msado15.dll" rename_namespace("USEADO"),rename("EOF","EndOfFile")
в моем заголовке.
В кпп, например:
#include "stdafx.h"
int SQLsetInfo(THING *Thing, GADGET *Gadget)
{
HRESULT hr;
USEADO::_ConnectionPtr connection;
USEADO::_RecordsetPtr recordset;
//Initialize COM
if(FAILED(hr = CoInitialize(NULL)))
{ MessageBox( NULL, L"Initialize COM Failed", L"MyProg!",MB_ICONEXCLAMATION |MB_OK);
//Do something, eg shut down DB stuff and continue without or exit program
//Insert error handeler below
return hr;//TODO Ad error handeling see line 149
}
if(FAILED(hr = connection.CreateInstance(__uuidof(USEADO::Connection))))
{ MessageBox( NULL, L"Create connection instance Failed", L"MyProg!",MB_ICONEXCLAMATION |MB_OK);
//Do something, eg shut down DB stuff and continue without or exit program
return hr;
}
if(FAILED(hr = recordset.CreateInstance(__uuidof(USEADO::Recordset))))
{ MessageBox( NULL, L"Create recordset instance Failed", L"MyProg!",MB_ICONEXCLAMATION |MB_OK);
//Do something, eg shut down DB stuff and continue without or exit program
return hr;
}
connection->CursorLocation = USEADO::adUseServer; //http://dev.mysql.com/tech-resources/articles/vb-cursors-and-locks.html
//Try to connect to SQL server
try { connection->Open(L"YOUR CONNECTION STRING", USEADO::adConnectUnspecified); }
catch(...) {std::cout << "!!! connection->Open(ConnectionString FAILED !!!" << std::endl; }
Я не эксперт в C ++, но это прекрасно работает для меня. Надеюсь, это поможет вам. Если у кого-то еще есть предложения / критика к приведенному выше фрагменту, я с нетерпением жду этого ...