高手帮忙看看源程序,万分感谢,程序运行说无效指针,在pConnection->Open这句出错
#include <iostream>
#include "stdafx.h"
int main()
{
_ConnectionPtr pConnection;
_RecordsetPtr pRecordset;
_variant_t TheValue;
if(!AfxOleInit())
{
std::cout<<"COM Init error\n";
return -1;
}
pConnection.CreateInstance(__uuidof(Connection));
pRecordset.CreateInstance (__uuidof(Recordset));
try
{
pConnection->Open ("driver = {SQL Server};Server = 127.0.0.1;DATABASE = master;UID = sa;PWD = viton","","",adModeUnknown); pRecordset->Open ("select name from sysdatabase",_variant_t((IDispatch*)pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
while(!pRecordset->adoEOF)
{
TheValue = pRecordset->GetCollect ("name");
if(TheValue.vt != VT_NULL)
std::cout<<(char*)_bstr_t(TheValue)<<'\n';
pRecordset->MoveNext ();
}
}catch(_com_error &e)
{
std::cout<<e.ErrorMessage ()<<'\n';
return -1;
}
pRecordset->Close();
pConnection->Close ();
return 0;
}