BOOL flag = TRUE;
::CoInitialize(NULL);
_ConnectionPtr m_pConnection = NULL;
_RecordsetPtr m_pRecordset = NULL;
try
{
/* HRESULT hr = m_pConnection.CreateInstance(__uuidof(Connection));//创建连接实例
m_dbstr.Format(_T("driver={SQL Server 2000};Server=%s; DATABASE=%s; UID=%s; PWD=%s;"), "local", "PushPower", "wyt", "0215");
_bstr_t strConnect= m_dbstr;//"Provider=SQLOLEDB;Server=192.168.1.64;Database=mserver; uid=mserver; pwd=mserver;"; m_pConnection->Open(strConnect,L"",L"",adModeUnknown);//打开连接
if(m_pConnection==NULL)
return FALSE;
*/
// 创建记录集对象
m_pRecordset.CreateInstance(__uuidof(Recordset));
// 取得表中的记录
m_pRecordset->Open((_bstr_t)sql,m_pConnection.GetInterfacePtr(),
adOpenDynamic,adLockOptimistic,adCmdText);//出错点 出错点 int columnsSize = m_pRecordset->Fields->GetCount(); while (!m_pRecordset->EndOfFile)
{
result.AddTail(new CMapStringToString);
for(int j = 0; j < columnsSize; j++)
{
FieldPtr fPtr = m_pRecordset->Fields->GetItem((long)j);
_variant_t vName = fPtr->Name;
_variant_t vValue = fPtr->Value;
CString name((WCHAR*)(_bstr_t)vName);
CString value = _T("");
if(vValue.vt != VT_NULL)
value.Format(_T("%s"),(WCHAR*)(_bstr_t)vValue);
((CMapStringToString*)result.GetTail())->SetAt(name,value);
}
m_pRecordset->MoveNext(); ///移到下一条记录
}
m_pRecordset->Close(); // 关闭记录集
}
catch(_com_error e)
{
flag = FALSE;
}
if(m_pRecordset->State)
m_pRecordset->Close();
if(m_pConnection->State)
m_pConnection->Close();
::CoUninitialize();
::CoInitialize(NULL);
_ConnectionPtr m_pConnection = NULL;
_RecordsetPtr m_pRecordset = NULL;
try
{
/* HRESULT hr = m_pConnection.CreateInstance(__uuidof(Connection));//创建连接实例
m_dbstr.Format(_T("driver={SQL Server 2000};Server=%s; DATABASE=%s; UID=%s; PWD=%s;"), "local", "PushPower", "wyt", "0215");
_bstr_t strConnect= m_dbstr;//"Provider=SQLOLEDB;Server=192.168.1.64;Database=mserver; uid=mserver; pwd=mserver;"; m_pConnection->Open(strConnect,L"",L"",adModeUnknown);//打开连接
if(m_pConnection==NULL)
return FALSE;
*/
// 创建记录集对象
m_pRecordset.CreateInstance(__uuidof(Recordset));
// 取得表中的记录
m_pRecordset->Open((_bstr_t)sql,m_pConnection.GetInterfacePtr(),
adOpenDynamic,adLockOptimistic,adCmdText);//出错点 出错点 int columnsSize = m_pRecordset->Fields->GetCount(); while (!m_pRecordset->EndOfFile)
{
result.AddTail(new CMapStringToString);
for(int j = 0; j < columnsSize; j++)
{
FieldPtr fPtr = m_pRecordset->Fields->GetItem((long)j);
_variant_t vName = fPtr->Name;
_variant_t vValue = fPtr->Value;
CString name((WCHAR*)(_bstr_t)vName);
CString value = _T("");
if(vValue.vt != VT_NULL)
value.Format(_T("%s"),(WCHAR*)(_bstr_t)vValue);
((CMapStringToString*)result.GetTail())->SetAt(name,value);
}
m_pRecordset->MoveNext(); ///移到下一条记录
}
m_pRecordset->Close(); // 关闭记录集
}
catch(_com_error e)
{
flag = FALSE;
}
if(m_pRecordset->State)
m_pRecordset->Close();
if(m_pConnection->State)
m_pConnection->Close();
::CoUninitialize();
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货