CImgDB* dbSQL = new CImgDB(&(pTheApp->m_dbRaster));
if(dbSQL->Open(CRecordset::forwardOnly, (LPCTSTR )strSQL)==0)
{
AfxMessageBox("数据库连接错误!", MB_OK|MB_ICONINFORMATION);
return;
} 提示:数据被截断CImgDB是CRecordset的派生类,把CImgDB换成CRecordset后,则上面的语句能够通过。 但是只能以CRecordset::forwardOnly这样一种模式打开,不能以snapshot和dynaset模式打开。那如果我要执行dbSQL->MoveFirst以及dbSQL->MovePrev()等之类的操作就不行。why???????????
请专家给予解答。谢谢
if(dbSQL->Open(CRecordset::forwardOnly, (LPCTSTR )strSQL)==0)
{
AfxMessageBox("数据库连接错误!", MB_OK|MB_ICONINFORMATION);
return;
} 提示:数据被截断CImgDB是CRecordset的派生类,把CImgDB换成CRecordset后,则上面的语句能够通过。 但是只能以CRecordset::forwardOnly这样一种模式打开,不能以snapshot和dynaset模式打开。那如果我要执行dbSQL->MoveFirst以及dbSQL->MovePrev()等之类的操作就不行。why???????????
请专家给予解答。谢谢
if(dbSQL->Open(CRecordset::snapshot, (LPCTSTR )strSQL)==0)
{
AfxMessageBox("数据库连接错误!", MB_OK|MB_ICONINFORMATION);
return;
} 或者
if(dbSQL->Open(CRecordset::dynaset, (LPCTSTR )strSQL)==0)
{
AfxMessageBox("数据库连接错误!", MB_OK|MB_ICONINFORMATION);
return;
} 打开记录集时,速度奇慢。只有CRecordset::forwardOnly模式速度才比较快,我的后台数据库是oracle9i.
不过你先把sql贴上来,看看有没有可优化的地方