//========= Copyright © 1996-2004, Valve LLC, All rights reserved. ============ // // Purpose: // // $NoKeywords: $ //============================================================================= #ifndef GCSQLRECORD_H #define GCSQLRECORD_H namespace GCSDK { class CSQLRecord { public: CSQLRecord( uint32 unRow, IGCSQLResultSet *pResultSet ); CSQLRecord( ); ~CSQLRecord(); void Init( uint32 unRow, IGCSQLResultSet *pResultSet ); bool BWriteToRecord( CRecordBase *pRecord, const CColumnSet & csWriteFields ); bool BGetColumnData( uint32 unColumn, uint8 **ppubField, int *pcubField ); bool BGetColumnData( uint32 unColumn, uint8 **ppubField, size_t *pcubField ); bool BGetStringValue( uint32 unColumn, const char **ppchVal ); bool BGetStringValue( uint32 unColumn, CFmtStr1024 *psVal ); bool BGetIntValue( uint32 unColumn, int *pnVal ); bool BGetInt16Value( uint32 unColumn, int16 *pnVal ); bool BGetInt64Value( uint32 unColumn, int64 *puVal ); bool BGetUint64Value( uint32 unColumn, uint64 *puVal ); bool BGetByteValue( uint32 unColumn, byte *pVal ); bool BGetBoolValue( uint32 unColumn, bool *pVal ); bool BGetUint32Value( uint32 unColumn, uint32 *puVal ); bool BGetUint16Value( uint32 unColumn, uint16 *puVal ); bool BGetUint8Value( uint32 unColumn, uint8 *puVal ); bool BGetFloatValue( uint32 unColumn, float *pfVal ); bool BGetDoubleValue( uint32 unColumn, double *pdVal ); void RenderField( uint32 unColumn, int cchBuffer, char *pchBuffer ); bool NextRow(); bool IsValid() const { return m_pResultSet != NULL; } private: bool BValidateColumnIndex( uint32 unColumn ); IGCSQLResultSet *m_pResultSet; uint32 m_unRow; }; } // namespace GCSDK #endif // GCSQLRECORD_H