想用ADO动态邦定的方法,我使用的是DataGrid,IADODatabinding到底怎么用呢?不懂!
解决方案 »
- CMFCMenuBar在停靠(悬浮)frame的时候 cview会自动计算大小
- BITMAP结构中的bmBits怎么用?
- 怎样在对话框中创建文档?
- MFC框架程序的文档串行化机制是怎样的?
- 这个问题复杂吗?还是我太笨了?请大家指点指。
- 对声明为同一个名字的几个CRITICAL_SECTION变量在一个进程里进行几次初始化结果如何?是不是搞来搞去都是同一个?
- 来,help
- error C2228: left of '.RecvCANMessage' must have class/struct/union type
- 在VC++6.0中出现的错误?
- 怎样把子窗口的消息映射到父窗口去处理?
- 这个定义有错吗?CSplitWindowDoc* GetDocument() const;
- c为什么比c++运行快
{
_CommandPtr cmd;
_RecordsetPtr rs;
_ConnectionPtr conn;
_variant_t vra;
VARIANT *vt1 = NULL;
try
{
/* cmd.CreateInstance( __uuidof(Command));
rs.CreateInstance(__uuidof(Recordset));
conn.CreateInstance(__uuidof(Connection));*/ UpdateData(TRUE);
theApp.m_pConnection->PutCursorLocation(adUseClient);
/* conn->CursorLocation = adUseClient;
conn->Open(_bstr_t( theApp.m_pConnection.GetInterfacePtr() ), L"", L"", -1);
cmd->ActiveConnection = conn;
cmd->CommandText = (_bstr_t) m_strQuery;
cmd->CommandType = adCmdText;
rs = cmd->Execute(&vra,vt1, adCmdText);*/
/*rs->PutRefActiveConnection(theApp.m_pConnection);
rs->Open((_bstr_t)m_strQuery,
theApp.m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText);*/
/// ((CTestDllApp*)(&theApp))->m_pConnection
/// m_pRecordset.CreateInstance(__uuidof(Recordset));
/* m_pRecordset->Open((_bstr_t)m_strQuery,
_variant_t((IDispatch*)theApp.m_pConnection, TRUE),
adOpenStatic,
adLockOptimistic,
adCmdText);*/
if(m_pRecordset->State==1)
{
m_pRecordset->Close();
}
m_pRecordset->Open((_bstr_t)m_strQuery,
theApp.m_pConnection.GetInterfacePtr(),//»ñÈ¡¿â½Ó¿âµÄIDispatchÖ¸Õë
adOpenStatic,
adLockOptimistic,
adCmdText);
/* m_DataGrid.SetRefDataSource(NULL);
m_DataGrid.SetRefDataSource((LPUNKNOWN)m_pRecordset);
m_DataGrid.Refresh();*/
}
catch (_com_error &e)
{
::MessageBox(NULL,e.Description(),"Ìáʾ",MB_OK);
}
m_DataGrid.SetRefDataSource((LPUNKNOWN)m_pRecordset);
m_DataGrid.Refresh();
UpdateData(FALSE);
//m_pRecordset->Close();
return true;
}
CDataGrid::Rebind()
CDataGrid::Rebind() //绑定