用了这个控件microsoft DataGrid Control 6.0 (sp5)(oledb) 想把表中的数据显示在一个 dialog上,总是出现错误,没有用另外一个ADOC这个控件。以下是我代码大家看看哪里出错,谢谢!或给一个完整的例子。BOOL CWarehouse::OnInitDialog() 
{
CDialog::OnInitDialog();

// TODO: Add extra initialization here
((CButton *)GetDlgItem(IDC_BUTTON_ADD))->SetBitmap(m_bitAdd);
((CButton *)GetDlgItem(IDC_BUTTON_DEL))->SetBitmap(m_bitDel);
((CButton *)GetDlgItem(IDC_BUTTON_MOD))->SetBitmap(m_bitMod);
((CButton *)GetDlgItem(IDC_BUTTON_CANCAL))->SetBitmap(m_bitCancal);

//////////////////ADO和DBGrid邦丁///////////////////////////////
::CoInitialize(NULL);
HRESULT hr; try
{
// _ConnectionPtr m_pConnection("ADODB.Connection");
//    _RecordsetPtr m_pRecordset("ADBDB.Recrodset");
_ConnectionPtr m_pConnection;
_RecordsetPtr m_pRecordset;
hr = m_pConnection.CreateInstance("ADODB.Connection");
hr = m_pConnection->Open("Provider=SQLOLEDB.1;Password=bobshi;Persist Security Info=True;User ID=bobshi;Initial Catalog=Jxc;Data Source=JONATHAN;","","",adModeUnknown);
//m_pConnection->Open("Provider=SQLOLEDB.1;Password=bobshi;Persist Security Info=True;User ID=bobshi;Initial Catalog=Jxc;Data Source=JONATHAN;","","",adModeUnknown);
CString sql="select * from tb_warehouse_info";
m_pRecordset.CreateInstance("ADODB.Recordset"); m_pRecordset->Open((_variant_t)sql,_variant_t((IDispatch*)m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
//m_grid.SetRefDataSource(m_pRecordset.Detach());
m_grid.SetRefDataSource(NULL);
m_grid.SetRefDataSource(LPUNKNOWN(m_pRecordset));

UpdateData(FALSE); }
catch (_com_error &e)   {   char mybuf[10240];      wsprintf(mybuf,"Description = '%s'\n", (char*) e.Description());   AfxMessageBox(mybuf);   } ////////////////////////////////////////////////////////////////
return TRUE;  // return TRUE unless you set the focus to a control
              // EXCEPTION: OCX Property Pages should return FALSE
}