我作了个test按钮,希望可以更新datagrid。但好像不行。
请大家帮我看一下,看那里出错了.
谢谢。 ::CoInitialize (NULL);///初始化COM库
////////////连接数据库//////////////
HRESULT hr;
try
{
// m_pConnection->CursorLocation=CursorLocationEnum(3);
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb","","",adModeUnknown);///连接数据库
///上面一句中连接字串中的Provider是针对ACCESS2000环境的,对于ACCESS97,需要改为:Provider=Microsoft.Jet.OLEDB.3.51;  }
}
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
// return FALSE;
} //////创建Recrodset//////
try
{
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->Open("SELECT * FROM TestTable",_variant_t((IDispatch*) m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);

// m_bSuccess = TRUE;
while(!m_pRecordset->adoEOF)
{
m_pRecordset->PutCollect("Result","0"); m_pRecordset->MoveNext();
}
}
catch(_com_error e)///捕捉异常
{
AfxMessageBox("读取数据库失败!");///显示错误信息
}
m_datagrid.SetRefDataSource((LPUNKNOWN) m_pRecordset);
m_datagrid.Refresh();
UpdateData(false);
m_pRecordset->Close();
m_pConnection->Close();
}