STDMETHODIMP CBRecordset::AddNew(void) { CBLock l(&m_cs); if(m_pFields == NULL || m_pDatabase == NULL)return E_NOTIMPL; if(m_arrayVariant.IsEmpty()) { m_arrayVariant.SetCount(GetFieldCount()); ZeroMemory(&m_arrayVariant[0], GetFieldCount() * sizeof(VARIANT)); }else for(int i = 0; i < GetFieldCount(); i ++) VariantClear(&m_arrayVariant[i]); return S_OK; }
void CompositeCSU::Print(OutStream &out) const { switch (m_kind) { case CSU_Class: out << "class "; break; case CSU_Struct: out << "struct "; break; case CSU_Union: out << "union "; break; default: Assert(false); } out << m_name->Value() << endl; if (m_command) out << "command: " << m_command->Value() << endl; out << "begin_location: " << m_begin_location << endl; out << "end_location: " << m_end_location << endl; out << "width: " << m_width << endl; for (size_t ind = 0; ind < GetFieldCount(); ind++) { const DataField &df = GetField(ind); out << "field: " << df.offset << " " << df.field->GetName()->Value() << " " << df.field->GetType() << endl; } for (size_t ind = 0; ind < GetFunctionFieldCount(); ind++) { const FunctionField &ff = GetFunctionField(ind); out << "function: " << ff.field; if (ff.base) out << " from " << ff.base; if (ff.function) out << " " << ff.function->GetName(); out << endl; } }
bool Create(const TCHAR* file) { USES_CONVERSION; int array_count = GetFieldCount(); DBaseFieldVector vector; vector.resize(array_count); for (int i = 0; i < array_count; i++) { CDaoFieldInfo info; DBF_FIELD_INFO* item = &vector[i]; GetFieldInfo(i, info); strncpy(item->name, T2CA(info.m_strName), _countof(item->name)); item->name[_countof(item->name) - 1] = 0; item->decimals = 0; item->length = info.m_lSize; item->type = GetFieldType(i, info, &item->length); } zlib_filefunc_def api; fill_fopen_filefunc(&api); void* stream = api.zopen_file(api.opaque, T2CA(file), ZLIB_FILEFUNC_MODE_CREATE | ZLIB_FILEFUNC_MODE_WRITE); bool ok = (NULL != stream); if (ok) ok = m_dbf.Create(file, stream, &api, vector); return ok; }
// GetFieldCount - Get number of fields in a string // Returns - The number of fields // Is always greater than zero // delim - The delimiter character int CStringEx::GetFieldCount( TCHAR delim ) { TCHAR a[2]; a[0] = delim; a[1] = 0; return GetFieldCount( a ); }
int OGRFeatureDefn::IsSame( OGRFeatureDefn * poOtherFeatureDefn ) { if (strcmp(GetName(), poOtherFeatureDefn->GetName()) == 0 && GetFieldCount() == poOtherFeatureDefn->GetFieldCount() && GetGeomFieldCount() == poOtherFeatureDefn->GetGeomFieldCount()) { int i; for(i=0;i<nFieldCount;i++) { const OGRFieldDefn* poFldDefn = GetFieldDefn(i); const OGRFieldDefn* poOtherFldDefn = poOtherFeatureDefn->GetFieldDefn(i); if (!poFldDefn->IsSame(poOtherFldDefn)) { return FALSE; } } for(i=0;i<nGeomFieldCount;i++) { OGRGeomFieldDefn* poGFldDefn = GetGeomFieldDefn(i); OGRGeomFieldDefn* poOtherGFldDefn = poOtherFeatureDefn->GetGeomFieldDefn(i); if (!poGFldDefn->IsSame(poOtherGFldDefn)) { return FALSE; } } return TRUE; } return FALSE; }
CSourceODBC::DataBaseDescript::~DataBaseDescript() { for ( int i = 0; i < GetFieldCount(); i++ ) { delete m_fields.GetAt(i); } }
STDMETHODIMP CBRecordset::Move(long pos) { CBLock l(&m_cs); if(m_pFields == NULL || m_pDatabase != NULL)return E_NOTIMPL; pos = (pos - m_nFirstPosition) * GetFieldCount(); if(pos < -GetFieldCount())pos = -GetFieldCount(); else if(pos > (int)m_arrayVariant.GetCount()) pos = (int)m_arrayVariant.GetCount(); m_nPos = pos; return S_OK; }
STDMETHODIMP CBRecordset::put_Value(VARIANT VarKey, VARIANT pvar) { if(VarKey.vt & VT_ARRAY) return E_INVALIDARG; if(VarKey.vt == VT_UNKNOWN || VarKey.vt == VT_DISPATCH) return DISP_E_BADVARTYPE; int i; HRESULT hr; CBLock l(&m_cs); if(m_pFields == NULL || m_pDatabase == NULL)return E_NOTIMPL; if(m_arrayVariant.IsEmpty()) AddNew(); if(VarKey.vt == VT_I4 || VarKey.vt == VT_I2) { i = varGetNumber(VarKey); if(i < 0 || i >= GetFieldCount()) return DISP_E_BADINDEX; }else { CBString strKey; hr = varGetString(VarKey, strKey); if(FAILED(hr))return hr; for(i = 0; i < GetFieldCount() && strKey.CompareNoCase(m_arrayFields[i]); i ++); if(i == GetFieldCount())return E_INVALIDARG; } i += m_nPos; if(i >=0 && i < (int)m_arrayVariant.GetCount()) { VariantCopy(&m_arrayVariant[i], &pvar); return S_OK; }else return DISP_E_BADINDEX; return S_OK; }
void CSourceODBC::DataBaseDescript::FieldExchange(CFieldExchange *pFX) { pFX->SetFieldType(CFieldExchange::outputColumn); for ( int i = 0; i < GetFieldCount(); i++ ) { m_fields.GetAt(i)->FieldExchange(pFX); } }
void wxMySQLRecordset::SetFieldBuffer(unsigned int index, void * buffer) { if(index >= GetFieldCount()) { printf("SetFieldBuffer error in index\r\n"); return; } m_ColDefs[index].buffer = buffer; }
void wxMySQLRecordset::SetFieldType(unsigned int index, wxMySQLFieldType type) { if(index >= GetFieldCount()) { printf("SetFieldType error in index\r\n"); return; } m_ColDefs[index].buffer_type = (enum_field_types)type; }
Field& EdiDocument::GetFieldByName(const wxString& name) { for( size_t i=0; i < GetFieldCount(); i++ ) { Field& f = GetField(i); if ( 0 == name.CmpNoCase(f.GetDescriptor().GetName()) ) { return f; } } THROW_COMPOSER_EXCEPTION(wxString::Format(ADVPCS_UNKNOWN_FIELD_ERR_MSG, name)); };
void wxMySQLRecordset::SetFieldBufferLength(unsigned int index, unsigned long * length) { if(index >= GetFieldCount()) { printf("SetFieldBufferLength error in index\r\n"); return; } m_ColDefs[index].length = length; }
bool wxMySQLResult::GetFieldsInfo(wxMySQLFieldArray & array) { wxMySQLField field; for(unsigned int i = 0; i < GetFieldCount(); i++) { if(!GetFieldInfo(&field, i)) return false; array.Add(field); } return true; }
const char *MyBasicResults::FieldNumToName(unsigned int colId) { if (colId >= GetFieldCount()) { return NULL; } MYSQL_FIELD *field = mysql_fetch_field_direct(m_pRes, colId); return field ? (field->name ? field->name : "") : ""; }
STDMETHODIMP CBRecordset::get_Value(VARIANT VarKey, VARIANT *pvar) { if(VarKey.vt & VT_ARRAY) return E_INVALIDARG; if(VarKey.vt == VT_ERROR) return WriteObjectToVariant((IRecordset*)this, pvar); int i; CBLock l(&m_cs); if(m_pFields == NULL)return E_NOTIMPL; if(VarKey.vt == VT_I4 || VarKey.vt == VT_I2) { i = varGetNumber(VarKey); if(i < 0 || i >= GetFieldCount()) return DISP_E_BADINDEX; }else { CBString strKey; HRESULT hr; hr = varGetString(VarKey, strKey); if(FAILED(hr))return hr; for(i = 0; i < GetFieldCount() && strKey.CompareNoCase(m_arrayFields[i]); i ++); if(i == GetFieldCount())return E_INVALIDARG; } i += m_nPos; if(i >=0 && i < (int)m_arrayVariant.GetCount()) { VariantCopy(pvar, &m_arrayVariant[i]); return S_OK; }else return DISP_E_BADINDEX; return S_OK; }
void OGRFeatureDefn::AddFieldDefn( OGRFieldDefn * poNewDefn ) { GetFieldCount(); papoFieldDefn = (OGRFieldDefn **) CPLRealloc( papoFieldDefn, sizeof(void*)*(nFieldCount+1) ); papoFieldDefn[nFieldCount] = new OGRFieldDefn( poNewDefn ); nFieldCount++; }
bool wxMySQLRecordset::BindFields() { if(!GetFieldCount()) { printf("Error binding fields !!!\r\n"); return false; } printf("MYSQL_STMT_BIND_PARAM\r\n"); return !mysql_stmt_bind_param(m_Stmt, m_ColDefs); }
OGRFieldDefn *OGRFeatureDefn::GetFieldDefn( int iField ) { if( iField < 0 || iField >= GetFieldCount() ) { CPLError(CE_Failure, CPLE_AppDefined, "Invalid index : %d", iField); return NULL; } return papoFieldDefn[iField]; }
STDMETHODIMP CBRecordset::MoveNext(void) { CBLock l(&m_cs); if(m_pFields == NULL || m_pDatabase != NULL)return E_NOTIMPL; if(m_nPos < (int)m_arrayVariant.GetCount()) m_nPos += GetFieldCount(); return S_OK; }
STDMETHODIMP CBRecordset::MovePrevious(void) { CBLock l(&m_cs); if(m_pFields == NULL || m_pDatabase != NULL)return E_NOTIMPL; if(m_nPos >= 0) m_nPos -= GetFieldCount(); return S_OK; }
STDMETHODIMP CBRecordset::MoveLast(void) { CBLock l(&m_cs); if(m_pFields == NULL || m_pDatabase != NULL)return E_NOTIMPL; m_nPos = m_arrayVariant.GetCount(); if(m_nPos > 0) m_nPos -= GetFieldCount(); return S_OK; }
int OGRFeatureDefn::GetFieldIndex( const char * pszFieldName ) { GetFieldCount(); for( int i = 0; i < nFieldCount; i++ ) { if( EQUAL(pszFieldName, GetFieldDefn(i)->GetNameRef() ) ) return i; } return -1; }
CSourceODBC::SDBField* CSourceODBC::DataBaseDescript::GetColomn( CString name ) { if ( name.IsEmpty() ) return NULL; if ( name.GetBuffer(0)[0] != '[' ) name = _T("[") + name + _T("]"); for ( int i = 0; i < GetFieldCount(); i++ ) if ( m_fields.GetAt(i)->FieldName == name ) return m_fields.GetAt(i); //AfxMessageBox( _T("Неверное имя поля.")); return NULL; }
bool EdiDocument::IsHeaderValid(bool doLog) const { bool result = true; for ( size_t index = 0; index < GetFieldCount(); index++ ) { if ( !IsFieldValid(index, doLog) ) { if ( !doLog ) { return false; } else { result = false; } } } return result; };
OGRFeatureDefn *OGRFeatureDefn::Clone() { OGRFeatureDefn *poCopy; poCopy = new OGRFeatureDefn( GetName() ); poCopy->SetGeomType( GetGeomType() ); for( int i = 0; i < GetFieldCount(); i++ ) poCopy->AddFieldDefn( GetFieldDefn( i ) ); return poCopy; }
bool MyBasicResults::FieldNameToNum(const char *name, unsigned int *columnId) { unsigned int total = GetFieldCount(); for (unsigned int i = 0; i < total; i++) { if (strcmp(FieldNumToName(i), name) == 0) { *columnId = i; return true; } } return false; }
bool wxMySQLResult::Fetch(wxArrayString & array) { array.Clear(); if(!m_Res) return false; MYSQL_ROW row; unsigned int i; if(row = mysql_fetch_row(m_Res)) { for(i = 0; i < GetFieldCount(); i++) { array.Add(row[i]); } } return (row != NULL); }
bool Loop() { size_t row = 0; if (!(IsBOF() && IsEOF())) for (MoveFirst(); !IsEOF(); MoveNext(), row++) { //TRACE(_T("row %3d\n"), row); NewRecord(); for (int i = 0; i < GetFieldCount(); i++) { COleVariant var; GetFieldValue(i, var); SaveField(i, var); } SaveRecord(); } return true; }
bool wxMySQLResult::GetFieldInfo(wxMySQLField * field, unsigned int fieldnum) { if(GetFieldCount() <= fieldnum) return false; MYSQL_FIELD * fld = mysql_fetch_field_direct(m_Res, fieldnum); if(!fld || !field) return false; field->m_Name = fld->name; field->m_NameOrg = fld->org_name; field->m_TableName = fld->table; field->m_TableNameOrg = fld->org_table; field->m_DBName = fld->db; field->m_DBCatalog = fld->catalog; field->m_DefaultValue = fld->def; field->m_Length = fld->length; field->m_MaxLength = fld->max_length; field->m_Decimals = fld->decimals; field->m_FieldType = (wxMySQLFieldType)fld->type; field->m_Flags = fld->flags; return true; }