依据前面类的定义,实现一个分页检索问题。
//设置查询语句,实现分页功能
// Page默认值为0,PageSize=10, void PublicDataBaseOperate::SetSelectStrValue(int Page=0) {
CString str(""); //主要为获取总记录数 if(Page==-1) { str="SELECT RowID FROM DuanSaiCheckResultTab"; PublicDataBaseOperate::strOperate=str; } else if(Page==0) { str.Format("SELECT top %d * FROM DuanSaiCheckResultTab ",PageSize); PublicDataBaseOperate::strOperate=str; } else { str.Format("SELECT top %d * FROM DuanSaiCheckResultTab where RowID not in (select top %d RowID from DuanSaiCheckResultTab)",PageSize,PageSize*Page); PublicDataBaseOperate::strOperate=str; } ; }
//获取数据
void CWXPDatabaseDlg::AddListControlData(int PageCount) { m_ListControl.DeleteAllItems(); PublicDataBaseOperate::SetSelectStrValue(PageCount); PublicDataBaseOperate::InitOperate(); CString DuanSaiID; COleDateTime CheckTime; CString str(""); CString CheckStandard("");
CString SourcePicPath1(""); CString CheckResult(""); int i=0; CString rows; while(!PublicDataBaseOperate::pRecordset ->adoEOF) { //读取表内数据 // score =(double)(PublicDataBaseOperate::pRecordset->Fields->GetItem(_variant_t("score"))->Value);//获取当前记录指针所指的字段值 //获取端塞号 DuanSaiID=(char *)(_bstr_t)(PublicDataBaseOperate::pRecordset->Fields->GetItem(_variant_t("DuanSaiID"))->Value); //获取时间 CheckTime=(COleDateTime)(PublicDataBaseOperate::pRecordset->Fields->GetItem(_variant_t("CheckTime"))->Value); //获取检测标准 CheckStandard=(char *)(_bstr_t)(PublicDataBaseOperate::pRecordset->Fields->GetItem(_variant_t("CheckStandard"))->Value); 获取图片路径 SourcePicPath1=(char *)(_bstr_t)(PublicDataBaseOperate::pRecordset->Fields->GetItem(_variant_t("SourcePicPath1"))->Value); 获取检测结果 CheckResult=(char *)(_bstr_t)(PublicDataBaseOperate::pRecordset->Fields->GetItem(_variant_t("CheckResult"))->Value); //放入值 rows.Format("X",i); m_ListControl.InsertItem(i,rows); m_ListControl.SetItemText(i,1, DuanSaiID); m_ListControl.SetItemText(i,2, CheckStandard); m_ListControl.SetItemText(i,3, SourcePicPath1); m_ListControl.SetItemText(i,4, CheckResult); //str=CheckTime.Format("%Y-%m-%d %H:%M:%S"); str=CheckTime.Format("%m-%d %H:%M:%S"); m_ListControl.SetItemText(i,5, str); ++i; PublicDataBaseOperate::pRecordset->MoveNext(); } }
