DataGrid控件设不上数据源:
{
_ConnectionPtr m_pConn;
_RecordsetPtr m_pRecord;
try{
if(!AfxOleInit())
return;
m_pConn.CreateInstance("ADODB.Connection");
CString strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\\work\\zhixiao.mdb";
m_pConn->Open(strConn.AllocSysString(),"","",adModeUnknown);
m_pRecord.CreateInstance("ADODB.Recordset");
TRACE0("\n11111111111111\n");
CString strSql="select * from t_user";
m_pRecord->Open(strSql.AllocSysString(),m_pConn.GetInterfacePtr(),
adOpenStatic,adLockReadOnly,adCmdText);
//m_DataGridOne为DataGrid控件.
m_DataGridOne.SetRefDataSource((LPUNKNOWN)m_pRecord);
UpdateData(FALSE);
m_pRecord->Close();
m_pConn->Close();
}catch(_com_error e){
CString errormessage;
errormessage.Format("错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);
}
}
代码执行倒是没什么问题.就是那个DataGrid没什么反应.不知道怎么弄的??
我看了别人的代码.他们用CADODatabase,CADORecordset,但是需要ado2.0,不知道怎么导入??
再问个flexGrid的问题.
我设了行数小于flexGrid的大小没问题.就是大于flexGrid的大小,就是没有竖直滚动条的时候正常,有了竖直滚动条的时候.就刷刷的闪个不停.一会就资源耗尽了.这是什么原因???
{
_ConnectionPtr m_pConn;
_RecordsetPtr m_pRecord;
try{
if(!AfxOleInit())
return;
m_pConn.CreateInstance("ADODB.Connection");
CString strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\\work\\zhixiao.mdb";
m_pConn->Open(strConn.AllocSysString(),"","",adModeUnknown);
m_pRecord.CreateInstance("ADODB.Recordset");
TRACE0("\n11111111111111\n");
CString strSql="select * from t_user";
m_pRecord->Open(strSql.AllocSysString(),m_pConn.GetInterfacePtr(),
adOpenStatic,adLockReadOnly,adCmdText);
//m_DataGridOne为DataGrid控件.
m_DataGridOne.SetRefDataSource((LPUNKNOWN)m_pRecord);
UpdateData(FALSE);
m_pRecord->Close();
m_pConn->Close();
}catch(_com_error e){
CString errormessage;
errormessage.Format("错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);
}
}
代码执行倒是没什么问题.就是那个DataGrid没什么反应.不知道怎么弄的??
我看了别人的代码.他们用CADODatabase,CADORecordset,但是需要ado2.0,不知道怎么导入??
再问个flexGrid的问题.
我设了行数小于flexGrid的大小没问题.就是大于flexGrid的大小,就是没有竖直滚动条的时候正常,有了竖直滚动条的时候.就刷刷的闪个不停.一会就资源耗尽了.这是什么原因???
LPUNKNOWN要是改成IDISPATCH呢