home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 October / Chip_1997-10_cd.bin / tema / sybase / powerj / hpp.z / WDATACRF.HPP < prev    next >
C/C++ Source or Header  |  1996-05-01  |  3KB  |  94 lines

  1.  
  2. #ifndef _WDATACRF_HPP_INCLUDED
  3. #define _WDATACRF_HPP_INCLUDED
  4.  
  5. //------------------------------------------------------------------------
  6. //
  7. // WDataColumnReference
  8. //
  9. // This class represents data columns and is only of interest to
  10. // implementors of new data access models (i.e. subclasses of WDataSource).
  11. //
  12. //------------------------------------------------------------------------
  13.  
  14. #ifndef _WOBJECT_HPP_INCLUDED
  15. #include "wobject.hpp"
  16. #endif
  17. #ifndef _WEVENT_HPP_INCLUDED
  18. #include "wevent.hpp"
  19. #endif
  20. #ifndef _WDATAOBJ_HPP_INCLUDED
  21. #include "wdataobj.hpp"
  22. #endif
  23.  
  24. class WCMCLASS WDataColumnReference : public WReferenceObject {
  25.  
  26.     private:
  27.  
  28.         WDataColumnReference( const WDataColumnReference & tr );
  29.         WDataColumnReference & operator=( const WDataColumnReference & tr );
  30.  
  31.     protected:
  32.  
  33.         WDataColumnReference();
  34.  
  35.     public:
  36.  
  37.         ~WDataColumnReference();
  38.  
  39.         static WDataColumnReference *Allocate();
  40.  
  41.         virtual WBool   GetBound() const { return _bound; }
  42.         virtual WBool   GetCaseSensitive() const { return _caseSensitive; }
  43.         virtual WShort  GetIndex() const { return _index; }
  44.         virtual WString GetLabel() const { return _label; }
  45.         virtual WString GetName() const { return _name; }
  46.         virtual WColumnDataType GetType() const { return _type; }
  47.         virtual WNativeDataType GetNativeType() const
  48.                   { return ColumnTypeToNativeType( _type, _unsigned ); }
  49.         virtual WShort  GetScale() const { return _scale; }
  50.         virtual WDWord  GetPrecision() const { return _precision; }
  51.         virtual WDWord  GetLength() const { return _length; }
  52.         virtual WShort  GetNullable() const { return _nullable; }
  53.         virtual WDataSource *GetDataSource() const { return _source; }
  54.         virtual WShort       GetUpdatable() const { return _updatable; }
  55.         virtual WBool   GetUnsigned() const { return _unsigned; }
  56.         virtual WDWord  GetDisplaySize() const { return _displaySize; }
  57.         virtual WString GetTable() const { return _table; }
  58.         virtual WString GetOwner() const { return _owner; }
  59.         virtual WString GetQualifier() const { return _qualifier; }
  60.  
  61.         virtual WDataValue GetValue() const;
  62.         virtual WBool      SetValue( const WDataValue & value );
  63.  
  64.         virtual WLong   QueryNumericAttribute( WUShort attr ) const;
  65.         virtual WString QueryStringAttribute( WUShort attr ) const;
  66.  
  67.         WBool GetReadOnly() const { return GetUpdatable() == SQL_ATTR_READONLY; }
  68.  
  69.         static WNativeDataType ColumnTypeToNativeType( WColumnDataType ct,
  70.                                                        WBool isUnsigned=TRUE );
  71.  
  72.     public:
  73.  
  74.         WDataSource     *_source;
  75.         WInt             _index;
  76.         WString          _label;
  77.         WString          _name;
  78.         WColumnDataType  _type;
  79.         SWORD            _scale;
  80.         UDWORD           _precision;
  81.         SWORD            _nullable;
  82.         SWORD            _updatable;
  83.         WBool            _caseSensitive;
  84.         UDWORD           _length;
  85.         WBool            _unsigned;
  86.         WDWord           _displaySize;
  87.         WBool            _bound;
  88.         WString          _table;
  89.         WString          _owner;
  90.         WString          _qualifier;
  91. };
  92.  
  93. #endif
  94.