Мне нужно прочитать файл FoxPro Dbf и воссоздать то же самое в C ++; Я установил версию 9.0 драйвера foxpro, но он не появился в списке драйверов в Windows DSN. Затем я установил foxpro из установки Visual Studio 6, и там был показан драйвер, и я смог установить соединение с помощью ADO. Проблема в том, что
_ConnectionPtr m_pCon;
_RecordsetPtr m_pRecordset;
AfxOleInit();
_bstr_t bt1(PassedCstringDirectory);//PassedCstringDirectory passed as argument
_bstr_t bt(sqlcmd);//sqlcmd passed as argument
m_pCon.CreateInstance(__uuidof(Connection));
HRESULT hr;
VARIANT *rowseffected=NULL;
try
{
//The SourceDB should be a proper directory
hr=m_pCon->Open("Provider=VFPOLEDB; SourceType=DBF; ""SourceDB="+bt1+";Extended Properties=FoxPro 3.0;", "","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox("Connection failed, check the direction!");
}
m_pCon->Execute(bt,rowseffected,adConnectUnspecified);
m_pCon-> Execute () возвращает false (S_FALSE), но файлы (dbf и fpt) создаются. И я не могу вставить данные в файлы .error Being. «Текущий набор записей не поддерживает обновление. Это может быть ограничением провайдера или выбранного типа блокировки. «
Задача ещё не решена.