초보가 ADO 프로그래밍 질문좀 드리겠습니다~
ADO로 데이터베이스 프로그래밍중입니다..
현재 TCP/IP 소켓과 시스템 프로그래밍이라는 책을 보면서 코드 따라치고 있는데요..
#include "stdafx.h"
#include
#include
#include
#pragma warning(disable:4146)
#import "C:\Program Files (x86)\Common Files\System\ado\msado15.dll" no_namespace rename("EOF", "adoEOF")
int _tmain(int argc, _TCHAR* argv[])
{
CoInitialize(NULL);
_ConnectionPtr pConnection;
HRESULT hr = pConnection.CreateInstance(__uuidof(Connection));
if (FAILED(hr))
{
puts("ADO connection 객체 생성 실패");
CoUninitialize();
return 0;
}
pConnection->Open(
_bstr_t("Provider=SQLOLEDB;Server=localhost;InitialCatalog=MEMBER"),
_bstr_t("sa"),
_bstr_t("1234"),
adConnectUnspecified);
_RecordsetPtr pRecordset;
hr = pRecordset.CreateInstance(__uuidof(Recordset));
if (FAILED(hr))
{
puts("ADO Recordset 객체 생성 실패");
CoUninitialize();
return 0;
}
pRecordset->Open(
_variant_t("SELECT * FROM MEMDB"),
_variant_t((IDispatch *)pConnection, TRUE),
adOpenStatic,
adLockOptimistic,
adCmdText);
if (SUCCEEDED(pRecordset->MoveFirst()))
{
do
{
if (pRecordset->adoEOF)
break;
_variant_t vtName = pRecordset->Fields->GetItem(_variant_t ("ID"))->Value;
wprintf(L"%s\n", vtName);
} while (SUCCEEDED( pRecordset->MoveNext()));
}
pRecordset->Close();
pRecordset->Release();
pConnection->Close();
pConnection.Release();
CoUninitialize();
return 0;
}
소스는 이게 다입니다...
근데 pRecordset->Open(
_variant_t("SELECT * FROM MEMDB"),
_variant_t((IDispatch *)pConnection, TRUE),
adOpenStatic,
adLockOptimistic,
adCmdText);
이 부분에서 프로그램이 죽어버립니다...
그 전에 함수에서 hr 리턴값은 s_ok 나왔었구요..
책을 보고 그대로 쳤는데 왜 에러가 나는지 모르겠습니다..
작업은 비주얼 스튜디오 2008에서 하고 있습니다~~
답변좀 부탁드리겠습니다 (__)
댓글 달기