Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

OracleResultSetMetaData.cpp

Go to the documentation of this file.
00001 #include "../include/OracleResultSetMetaData.h"
00002 
00003 // ctor
00004 OracleResultSetMetaData::OracleResultSetMetaData(std::vector<oracle::occi::MetaData> metaData)
00005 {
00006   m_MetaData = metaData;
00007 }
00008 
00009 int OracleResultSetMetaData::GetColumnType(int i)
00010 {
00011   int fieldType = COLUMN_UNKNOWN;
00012   int oracleFieldType = m_MetaData[i].getInt(oracle::occi::MetaData::ATTR_DATA_TYPE);
00013   switch (oracleFieldType)
00014   {
00015     case oracle::occi::OCCI_SQLT_NUM:
00016     case oracle::occi::OCCIINT:
00017     case oracle::occi::OCCI_SQLT_LNG:
00018     case oracle::occi::OCCINUMBER:
00019     case oracle::occi::OCCIROWID:
00020       fieldType = COLUMN_INTEGER;
00021       break;
00022     case oracle::occi::OCCI_SQLT_STR:
00023     case oracle::occi::OCCISTRING:
00024       fieldType = COLUMN_STRING;
00025       break;
00026     case oracle::occi::OCCIFLOAT:
00027     case oracle::occi::OCCIBFLOAT:
00028     case oracle::occi::OCCIBDOUBLE:
00029     case oracle::occi::OCCIIBFLOAT:
00030     case oracle::occi::OCCIIBDOUBLE:
00031     case oracle::occi::OCCIDOUBLE:
00032       fieldType = COLUMN_DOUBLE;
00033       break;
00034     case oracle::occi::OCCIBOOL:
00035       fieldType = COLUMN_BOOL;
00036       break;
00037     case oracle::occi::OCCI_SQLT_CLOB:
00038     case oracle::occi::OCCI_SQLT_BLOB:
00039     case oracle::occi::OCCIBLOB:
00040     case oracle::occi::OCCIBYTES:
00041     case oracle::occi::OCCICLOB:
00042       fieldType = COLUMN_BLOB;
00043       break;
00044     case oracle::occi::OCCI_SQLT_DATE:
00045     case oracle::occi::OCCI_SQLT_TIME:
00046     case oracle::occi::OCCI_SQLT_TIME_TZ:
00047     case oracle::occi::OCCI_SQLT_TIMESTAMP:
00048     case oracle::occi::OCCI_SQLT_TIMESTAMP_TZ:
00049     case oracle::occi::OCCI_SQLT_TIMESTAMP_LTZ:
00050     case oracle::occi::OCCIDATE:
00051     case oracle::occi::OCCITIMESTAMP:
00052       fieldType = COLUMN_DATE;
00053       break;
00054     default:  
00055       fieldType = COLUMN_UNKNOWN;
00056       break;
00057   };
00058   return fieldType;
00059 }
00060 
00061 int OracleResultSetMetaData::GetColumnSize(int i)
00062 {
00063   int oracleFieldSize = m_MetaData[i].getInt(oracle::occi::MetaData::ATTR_DATA_SIZE);
00064   return oracleFieldSize;
00065 }
00066 
00067 wxString OracleResultSetMetaData::GetColumnName(int i)
00068 {
00069   wxString strField = ConvertFromUnicodeStream(m_MetaData[i].getString(oracle::occi::MetaData::ATTR_NAME).c_str());
00070   return strField;
00071 }
00072 
00073 int OracleResultSetMetaData::GetColumnCount()
00074 {
00075   return m_MetaData.size();
00076 }
00077 

Generated on Sat May 13 17:31:34 2006 for databaselayer by  doxygen 1.4.1