_ConnectionPtr cn;
_RecordsetPtr rs;
CString constr;
constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\Log.mdb;Persist Security Info=False";
cn.CreateInstance("ADODB.Connection");
rs.CreateInstance("ADODB.Recordset");
cn->Open(_bstr_t(constr),"","",adModeUnknown);
rs->Open(_variant_t("select * from eventlog"),(IDispatch*)cn,adOpenStatic,adLockUnspecified,adCmdText);
m_ctlDataBrid.SetRefDataSource((IDispatch *)rs);没有报错,数据库和表里都有数据的,但界面上却没有返回值
_RecordsetPtr rs;
CString constr;
constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\Log.mdb;Persist Security Info=False";
cn.CreateInstance("ADODB.Connection");
rs.CreateInstance("ADODB.Recordset");
cn->Open(_bstr_t(constr),"","",adModeUnknown);
rs->Open(_variant_t("select * from eventlog"),(IDispatch*)cn,adOpenStatic,adLockUnspecified,adCmdText);
m_ctlDataBrid.SetRefDataSource((IDispatch *)rs);没有报错,数据库和表里都有数据的,但界面上却没有返回值
前面添加:
rs->CursorLocation = adUseClient; 试试
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
2.app文件的InitInstance中加入
CString strConnection = "driver={SQL Server};Server=192.168.0.100;DATABASE=date;UID=sa";//sql2000
try
{
hr = m_pConnTemp.CreateInstance("ADODB.Connection"); if(SUCCEEDED(hr))
{
hr=m_pConnTemp->Open((_bstr_t)strConnection,"","",adModeUnknown);
}
}
catch(_com_error e)
{
CCommon common;
AfxMessageBox(common.DisplayAdoError(m_pConnTemp));
}
if (m_pConnTemp != NULL)
{
if (m_pConnTemp->State)
{
if (m_pConnection != NULL)
{
if (m_pConnection->State)
{
m_pConnection->Close ();
}
}
m_pConnection = m_pConnTemp;
}
}