想通过ADO读取.数据库(ACCESS)中数据.因为数据量很大.想分段读取如何做到??
通过SQL语句可以实现吗?即:
while(!IsEndOfDB()){
读取第n部分();
处理这部分数据();
n++;
}
通过SQL语句可以实现吗?即:
while(!IsEndOfDB()){
读取第n部分();
处理这部分数据();
n++;
}
解决方案 »
- 如何查看任务栏上有哪些进程
- 我想在自己的类或者其他类里面调用某个消息怎么弄~~
- 请问如何获得一个文件正被打开的句柄个数?
- opengl 实现类似魔兽或红警的单位选择该用什么方法呢?
- 给父窗体的GWL_EXSTYLE添加了WS_CLIPCHILDREN | WS_CLIPSIBLINGS属性,子窗体的CtrlList却被覆盖了[困扰了我N久的问题]
- 在对话框1中打开对话框2,同时隐藏对话框1,并将1中的值传递给2的方法?
- TabControl页中嵌套的ListView无法显示
- 在vc中如何写回调函数
- 如何得到控件在对话框中的矩形区,坐标
- 如何在tabcontrol的各tab中动态创建button
- 如何改变子窗体大小
- 在应用CTreeCtrl中树展开时只显示目录?
while(!IsEndOfDB() && !bStop){
读取第n部分();
处理这部分数据();
n++;
}
.......if(!pRs->Open((LPCTSTR)strQry))........需要等待很长时间,而且不能中断。。我的想法是能否将一次性大量查询,分成多个小量数据查询?
========================================================
CADODatabase* pAdoDb = new CADODatabase();
CString strConnection = "";strConnection = _T("Provider=MSDASQL;"
"PersistSecurityInfo=False;Trusted_Connection=Yes
Data Source=Access Sql Server;catalog=sampledb");if(pAdoDb->Open((LPCTSTR)strConnection))
{
CString strQry = _T("");
int numRecords; strQry.Format(_T("sp_StoreClientFields_ps '%s', %d"),
(LPCTSTR)strParam1, nParam2); CADORecordset* pRs = new CADORecordset(pAdoDb); if(!pRs->Open((LPCTSTR)strQry))
{
delete pRs;
delete pAdoDb;
return FALSE
} numRecords = pRs->GetRecordCount();
while(!pRs->IsEof())
{
CString strVal = _T("");
int nVal = 0;
//Get Numeric Field Value
pRs->GetFieldValue("NumField1", nVal) //Get String Field Data
pRs->GetFieldValue("StrField..", strVal)
DoSomething(nVal, strVal); pRs->MoveNext();
}
pRs->Close();
}
else
return FALSE;
http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=190778
pAdoDb->put_MaxRecords( m_lNumRows )