我在98下,运行程序时,出现了"Create ADODB.Recordset failed"提示,然后提示“指针无效”! 我不知道为什么会失败。难到win98第二版连m_pRecordset.CreateInstance这样的语句都无法支持吗?!请各位帮帮我!这是怎么回事儿呢!谢谢!
PS:我不想装ADO最新版,因为我不可能让每一个机器都去下载ADO最新版!try
{
if ( m_pRecordset.CreateInstance("ADODB.Recordset") !=S_OK )
AfxMessageBox("Create ADODB.Recordset failed"); m_pRecordset->Open("SELECT * FROM NoteTree"/*Select * from NoteTree orderby ParentID"*/,_variant_t((IDispatch*)theApp.m_pConnection,true),/*adOpenDynamic*/adOpenStatic,adLockOptimistic,adCmdText);
m_pRecordset->MoveLast();//到最后一行
m_pRecordset->Close();
m_pRecordset.Release();
m_pRecordset = NULL;
} catch(_com_error e)///捕捉异常
{
CString errormessage; errormessage.Format("读取数据库失败!\r\n错误信息:%s",e.ErrorMessage()); AfxMessageBox(errormessage);///显示错误信息
PS:我不想装ADO最新版,因为我不可能让每一个机器都去下载ADO最新版!try
{
if ( m_pRecordset.CreateInstance("ADODB.Recordset") !=S_OK )
AfxMessageBox("Create ADODB.Recordset failed"); m_pRecordset->Open("SELECT * FROM NoteTree"/*Select * from NoteTree orderby ParentID"*/,_variant_t((IDispatch*)theApp.m_pConnection,true),/*adOpenDynamic*/adOpenStatic,adLockOptimistic,adCmdText);
m_pRecordset->MoveLast();//到最后一行
m_pRecordset->Close();
m_pRecordset.Release();
m_pRecordset = NULL;
} catch(_com_error e)///捕捉异常
{
CString errormessage; errormessage.Format("读取数据库失败!\r\n错误信息:%s",e.ErrorMessage()); AfxMessageBox(errormessage);///显示错误信息
试试
也能用!不好使!:(
当然安装ADO了!98自带的版本。!
Provider=Microsoft.Jet.OLEDB.3.51; 数据库是Access2000,连接字串中的Provider项应该是
Provider=Microsoft.Jet.OLEDB.4.0;
如果你使用比较新的数据驱动,
比如用ACCESS2002以上版本建立的数据库在98里就要装MDAC了
{
if ( m_pRecordset.CreateInstance(__uuidof(Recordset) !=S_OK )
{
AfxMessageBox("Create ADODB.Recordset failed");
return;
} m_pRecordset->Open("SELECT * FROM NoteTree"/*Select * from NoteTree orderby ParentID"*/,_variant_t((IDispatch*)theApp.m_pConnection,true),/*adOpenDynamic*/adOpenStatic,adLockOptimistic,adCmdText);
m_pRecordset->MoveLast();//到最后一行
m_pRecordset->Close();
m_pRecordset.Release();
m_pRecordset = NULL;
} catch(_com_error e)///捕捉异常
{
CString errormessage; errormessage.Format("读取数据库失败!\r\n错误信息:%s",e.ErrorMessage()); AfxMessageBox(errormessage);///显示错误信息
首先是#import "...msado15.ado" ...
如果想在98 下运行的话,把98中的版本拷到某个目录下(不要替换系统的)
然后import它即可