Deatz
Гость
|
|
« : 17-06-2008 15:06 » |
|
Здравствуйте! Вопрос у меня следующий: есть база данных, из которой нужно прочитать таблицу в Visual C++. Видимо, что-то я делаю не так. Требуется открыть файл IP.SHL. Вот текст программы:
int CHardwareConfiguratorDlg::ReadDatabase() { HRESULT hr; CoInitialize(NULL);
try { ADODB::_ConnectionPtr connection; hr = connection.CreateInstance(__uuidof(ADODB::Connection)); if(FAILED(hr)) { return -1; };
ADODB::_RecordsetPtr recordset; hr = recordset.CreateInstance(__uuidof(ADODB::Recordset)); if(FAILED(hr)) { return -1; };
connection->CursorLocation = ADODB::adUseClient;
connection->Open("IP", "", "", ADODB::adConnectUnspecified);
connection->Open(L"Provider=sqloledb;Data Source=fifa;" L"Initial Catalog=test;User Id=testsa;Password=testsa;", L"", L"", ADODB::adConnectUnspecified);
recordset->Open("CREATE TABLE mytable (value NVARCHAR(255))", connection.GetInterfacePtr(), ADODB::adOpenForwardOnly, ADODB::adLockReadOnly, ADODB::adCmdText);
recordset->Open("INSERT INTO mytable VALUES ('Hello')", connection.GetInterfacePtr(), ADODB::adOpenForwardOnly, ADODB::adLockReadOnly, ADODB::adCmdText);
recordset->Open("INSERT INTO mytable VALUES ('Goodbye')", connection.GetInterfacePtr(), ADODB::adOpenForwardOnly, ADODB::adLockReadOnly, ADODB::adCmdText);
recordset->Open("SELECT * from mytable", connection.GetInterfacePtr(), ADODB::adOpenForwardOnly, ADODB::adLockReadOnly, ADODB::adCmdText);
recordset->Close(); recordset->Open("DROP TABLE mytable", connection.GetInterfacePtr(), ADODB::adOpenForwardOnly, ADODB::adLockReadOnly, ADODB::adCmdText); } catch(_com_error &e) { return -1; } catch(...) { return -1; };
return 0; };
|