我的对话框里头用了个datagrid控件,程序是这样写的,感觉思路应该差不多了,可是执行时出现了错误提示框:Debug Assertion Failed!单步执行到最后一句时,也出现相同的问题,把取得记录放到datagrid里应该就是最后两句吧,还是我的程序本身有问题,到底怎么才能在控件里头显示数据呢。哪里需要改的,望高人不吝赐教!
CString sql;
CString m_dbstr;
_RecordsetPtr m_pRecordset;
_ConnectionPtr m_pConnection;
CDataGrid m_dbgrid;//DataGrid控件对象
m_dbstr.Format(_T("Provider=SQLOLEDB;Data Source=127.0.0.1;Database=PushPower;Uid=yhc;Pwd=yhc;"));
HRESULT hr = m_pConnection.CreateInstance(__uuidof(Connection));//创建连接实例
_bstr_t strConnect= m_dbstr;
m_pConnection->Open(strConnect,L"",L"",adModeUnknown);//打开连接
sql.Format(_T("SELECT * FROM 表1"));
m_pRecordset.CreateInstance(__uuidof(Recordset)); // 取得表中的记录
m_pRecordset->Open((_bstr_t)sql,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
m_dbgrid.SetRefDataSource(NULL);
m_dbgrid.SetRefDataSource((LPUNKNOWN)m_pRecordset);
CString sql;
CString m_dbstr;
_RecordsetPtr m_pRecordset;
_ConnectionPtr m_pConnection;
CDataGrid m_dbgrid;//DataGrid控件对象
m_dbstr.Format(_T("Provider=SQLOLEDB;Data Source=127.0.0.1;Database=PushPower;Uid=yhc;Pwd=yhc;"));
HRESULT hr = m_pConnection.CreateInstance(__uuidof(Connection));//创建连接实例
_bstr_t strConnect= m_dbstr;
m_pConnection->Open(strConnect,L"",L"",adModeUnknown);//打开连接
sql.Format(_T("SELECT * FROM 表1"));
m_pRecordset.CreateInstance(__uuidof(Recordset)); // 取得表中的记录
m_pRecordset->Open((_bstr_t)sql,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
m_dbgrid.SetRefDataSource(NULL);
m_dbgrid.SetRefDataSource((LPUNKNOWN)m_pRecordset);
或者可以用
m_DataGrid.SetRecordSource(sql);
m_DataGrid.Refresh();