本文整理汇总了C++中_RecordsetPtr::MoveFirst方法的典型用法代码示例。如果您正苦于以下问题:C++ _RecordsetPtr::MoveFirst方法的具体用法?C++ _RecordsetPtr::MoveFirst怎么用?C++ _RecordsetPtr::MoveFirst使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类_RecordsetPtr
的用法示例。
在下文中一共展示了_RecordsetPtr::MoveFirst方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetRecordCount
UINT CBADO::GetRecordCount( _RecordsetPtr pRecordset )
{
int nCount = 0;
try
{
if(pRecordset->EndOfFile)
{
Sleep(1);
return 0;
}
pRecordset->MoveFirst();
}
catch(...)
{
return 0;
}
if (pRecordset->FirstOfFile)
return 0;
while(!pRecordset->EndOfFile)
{
pRecordset->MoveNext();
nCount = nCount + 1;
}
pRecordset->MoveFirst();
return nCount;
}
示例2: RecNo
///////////////////////////////////////////////
//
//返回当前记录集的游标位置
//
//IRecordset[in] 记录集智能指针
//
//函数成功返回当前记录集的游标位置,否则返回-1
//
long CFoxBase::RecNo(_RecordsetPtr IRecordset)
{
long pos=0;
long i;
if(IRecordset==NULL)
return -1;
if(IRecordset->adoEOF && IRecordset->BOF)
return -1;
while(!IRecordset->GetBOF())
{
pos++;
IRecordset->MovePrevious();
}
i=pos;
i--;
IRecordset->MoveFirst();
while(i>0)
{
i--;
IRecordset->MoveNext();
}
return pos;
}
示例3: ReplaceAreaValue
//替换指定范围的某字段的值.
bool CFoxBase::ReplaceAreaValue(_RecordsetPtr pRs, CString strField, CString strValue, int startRow, int endRow)
{
if(startRow > endRow)
{
endRow = startRow;
}
if( endRow <= 0 )
{
return false;
}
if( endRow > pRs->GetRecordCount() )
{
return false;
}
if( pRs->GetRecordCount() <= 0 )
{
return false;
}
pRs->MoveFirst();
for(int i=1; i<=endRow && !pRs->adoEOF; i++, pRs->MoveNext())
{
if( i >= startRow )
{
pRs->PutCollect(_variant_t(strField), _variant_t(strValue));
pRs->Update();
}
}
return true;
}
示例4: GetRecordCount
int RxADO::GetRecordCount(_RecordsetPtr pRst)
{
int nCount=0;
try{
pRst->MoveFirst();
}
catch(...)
{
return 0;
}
if(pRst->_EOF)
return 0;
while (!pRst->_EOF)
{
pRst->MoveNext();
nCount=nCount+1;
}
pRst->MoveFirst();
return nCount;
}
示例5: CheckRecordSetState
BOOL CADOUtil::CheckRecordSetState(_RecordsetPtr RecSet)
{
if (RecSet != NULL && (RecSet->EndOfFile == VARIANT_FALSE))
{
if (RecSet->EndOfFile == VARIANT_FALSE)
{
RecSet->MoveFirst();
return TRUE;
}
}
return FALSE;
}
示例6: GetRecordCount
DWORD CADODatabase::GetRecordCount(_RecordsetPtr m_pRs)
{
DWORD numRows = 0;
numRows = m_pRs->GetRecordCount();
if(numRows == -1)
{
if(m_pRs->EndOfFile != VARIANT_TRUE)
m_pRs->MoveFirst();
while(m_pRs->EndOfFile != VARIANT_TRUE)
{
numRows++;
m_pRs->MoveNext();
}
if(numRows > 0)
m_pRs->MoveFirst();
}
return numRows;
}
示例7: ImportHangerRestraints
//吊架和支架数据的导入pfg20050615
//flag=0 为吊架; flag=1 为支架
//记录集是结果集 对应ZA表
//rsHR记录集是数据源集(弹簧、吊架)
//ltemp 支吊架号
void CAESARIIToPHS::ImportHangerRestraints(_RecordsetPtr rsData,_RecordsetPtr rsHR,long <emp,long &FileNameID,char *strPSAVER,long &node,int flag)
{
_variant_t tmpvar;
long lTmp;
try
{
if(flag)
{
tmpvar=rsHR->GetCollect(_T("node_num"));
lTmp=vtoi(rsHR->GetCollect(_T("RES_TYPEID")));//pfg20050624
}
else
{
tmpvar=rsHR->GetCollect(_T("node"));
}
if(tmpvar.vt==VT_EMPTY||tmpvar.vt==VT_NULL)
{
return;
}
else
{
node=vtoi(tmpvar);
}
if ( node < 1e-6 ) //5.2版本中所有的约束信息会导入INPUT_RESTRAINTS表中(同一约束点会有四条记录,所以会有NODE_NUM为-1情况)
return;
if(rsData->GetRecordCount()>0)
{
rsData->MoveFirst();
}
rsData->Filter = _variant_t(CString("[jsdbh1] = ") + ltos(node)+" AND [FileNameID]="+ltos(FileNameID));
if (rsData->adoEOF&&rsData->BOF)
{
rsData->AddNew();
rsData->PutCollect("VolumeID",_variant_t(EDIBgbl::SelVlmID));
rsData->PutCollect("zdjh",_variant_t((long)(ltemp+1)));
rsData->PutCollect("FileNameID",_variant_t(FileNameID));
ltemp++;
rsData->Update();
}
rsData->PutCollect("PSAver", _variant_t(strPSAVER));
rsData->PutCollect("UPxyz",_variant_t((long)m_iUPxyz));
rsData->PutCollect("JSDBH1", _variant_t((long)node));
rsData->Update();
}
catch (_com_error &e)
{
CString strMsg;
strMsg.Format("%s:%d %s", __FILE__, __LINE__, (LPSTR)e.Description());
AfxMessageBox(strMsg);
}
}
示例8: QueryByCondit
void CBllHelp::QueryByCondit(_RecordsetPtr pRecordSet,vector<string> &vecField, vector<string> &vecRecordSet, long &lFieldCounts)
{
//判断存在记录
if(pRecordSet == NULL)
return ;
if (!vecRecordSet.empty())
{
vecRecordSet.clear();
}
if (!vecField.empty())
{
vecField.clear();
}
try
{
//字段个数
lFieldCounts = pRecordSet->GetFields()->GetCount();
adoDataTypeEnum enumDataType;
_bstr_t str;
//字段名称、类型、大小
for(long i = 0; i<lFieldCounts; i++)
{
str= pRecordSet->GetFields()->GetItem(i)->GetName();
vecField.push_back((LPSTR)str);
enumDataType = pRecordSet->GetFields()->GetItem(i)->GetType();
str = GetDataTypeString(enumDataType);
vecField.push_back((LPSTR)str);
str = pRecordSet->GetFields()->GetItem(i)->GetDefinedSize();
vecField.push_back((LPSTR)str);
}
pRecordSet->MoveFirst();
long lCounts = 0;
_variant_t var;
//获取记录
while(!pRecordSet->adoEOF)
{
for(long j=0; j<lFieldCounts; j++)
{
var=pRecordSet->GetCollect(j);
str=(_bstr_t)(var.vt==1?"":var);
vecRecordSet.push_back((LPSTR)str);
}
pRecordSet->MoveNext();
lCounts++;
}
}
catch(_com_error e)
{
//AfxMessageBox("记录为空");
}
}
示例9: ReplAll
///////////////////////////////////////////////////////////
//
//替换记录集中选中字段所有的值
//
//IRecordset[in] 记录集智能指针
//FieldsName[in] 字段名
//Value[in] 输入替换FieldsName字段的值
//
//函数成功返回TRUE,否则返回FALSE
//当函数成功返回时,当前游标指针指向记录集最后一个记录的后面
//
BOOL CFoxBase::ReplAll(_RecordsetPtr IRecordset, _variant_t FieldsName, _variant_t Value)
{
if(IRecordset==NULL)
return FALSE;
IRecordset->MoveFirst();
while(!IRecordset->adoEOF)
{
IRecordset->PutCollect(FieldsName,Value);
IRecordset->Update();
IRecordset->MoveNext();
}
return TRUE;
}
示例10:
BOOL CV5App::GetData(CString sql, _RecordsetPtr &Rs)
{
try{
Rs=m_pConnection->Execute((_bstr_t)sql,NULL,-1);
if(Rs->RecordCount>0){
Rs->MoveFirst();
return TRUE;
}else{
return FALSE;
}
}catch(_com_error &er)
{
MessageBox(NULL,er.ErrorMessage(),_T("系统提示"),MB_OK);
return FALSE;
}
}
示例11: LocateFor
////////////////////////////////////////////////////
//
//从表的第一条记录开始寻找指定的逻辑关系
//
//IRecordset[in] 记录集智能指针
//FieldsName[in] 字段名
//Relations[in] 逻辑关系,等于、不等于……
//Value[in] 输入与FieldsName比较的值
//
//函数成功返回TRUE,否则返回FALSE
//如果需比较的字段与关系不匹配会抛出_com_error异常
//指针指向找到的记录上
//
BOOL CFoxBase::LocateFor(_RecordsetPtr IRecordset, _variant_t FieldsName,
int Relations, _variant_t Value)
{
_variant_t tempvalue;
CString tempstr;
if(IRecordset==NULL || Value.vt==VT_NULL)
return FALSE;
try
{
IRecordset->MoveFirst();
}
catch(_com_error &e)
{
ExceptionInfo(e);
return FALSE;
}
return LocateForCurrent(IRecordset,FieldsName,Relations,Value);
}
示例12: CopyData
BOOL CFoxBase::CopyData(_RecordsetPtr &IRecordS, _RecordsetPtr &IRecordD)
{
_variant_t TempValue;
short Item;
FieldsPtr IFields;
FieldPtr IField;
if(IRecordS==NULL || IRecordD==NULL)
{
ExceptionInfo(_T("Source Recordset or destination Recordset cann't be empty"));
return FALSE;
}
if(IRecordS->adoEOF && IRecordS->BOF)
{
return TRUE;
}
if(!IRecordD->adoEOF || !IRecordD->BOF)
{
try
{
IRecordD->MoveLast();
}
catch(_com_error &e)
{
ExceptionInfo(e);
return FALSE;
}
}
try
{
IRecordS->MoveFirst();
}
catch(_com_error &e)
{
ExceptionInfo(e);
return FALSE;
}
try
{
while(!IRecordS->adoEOF)
{
IRecordS->get_Fields(&IFields);
IRecordD->AddNew();
for(Item=0;Item<IFields->GetCount();Item++)
{
IFields->get_Item(_variant_t(Item),&IField);
TempValue=IRecordS->GetCollect(_variant_t(IField->GetName()));
IRecordD->PutCollect(_variant_t(IField->GetName()),TempValue);
IField.Release();
}
IRecordD->Update();
IFields.Release();
IRecordS->MoveNext();
}
}
catch(_com_error &e)
{
ExceptionInfo(e);
return FALSE;
}
return TRUE;
}