大家好,最近在EVC下用CE自带的数据库编程,感觉其中的指针移动函数CeSeekDatabase()用不好。
比如要读一条记录:
CListCtrl *pListCtrl=(CListCtrl *)GetDlgItem(IDC_LST_ADMISSIVE);
int iItemIndex=pListCtrl->GetNextItem(-1,LVNI_SELECTED);
ASSERT(iItemIndex!=-1);
ceOid=CeSeekDatabase(m_hDB,CEDB_SEEK_BEGINNING,iItemIndex,&dwIndex);
ASSERT(ceOid!=0);
ceOid=CeReadRecordProps(m_hDB,CEDB_ALLOWREALLOC,&wProps,NULL,&(LPBYTE)pBuff,&dwRecSize);
必须在列表栏中选中要读的记录。
如果我要读第3条记录,就必须先选中列表框中的第三条记录。我想不用GetNextItem()函数,直接用CeSeekDatabase(m_hDB,CEDB_SEEK_BEGINNING,3,&dwIndex)将指针移到第三条记录,可是这样执行失败。
请问各位大侠,该怎么实现?
------解决方案--------------------------------------------------------
iItemIndex=3;
ceOid=CeSeekDatabase(m_hDB,CEDB_SEEK_BEGINNING,iItemIndex,&dwIndex);