common.h added to create appropriate connections and statements.
[csql.git] / src / odbc / odbcDesc.cxx
blob5e7fb5a0990adc3ee0d9aeba94ade4bc1bef8c72
1 /* Class CSqlOdbcDescList
2 Description: Generic Descriptor manager.
4 Functions:
5 CSqlOdbcDescList::delDesc();
6 CSqlOdbcDescList::freeAllDesc();
7 CSqlOdbcDescList::getDescWithColNum();
9 CSqlOdbcDesc::CSqlOdbcDesc();
12 #include "odbcCommon.h"
14 // Class CSqlOdbcDescList Member functions
15 //----------------------------------
16 // Delete descriptor from list
17 SQLRETURN CSqlOdbcDescList::delDesc( CSqlOdbcDesc *node )
19 CSqlOdbcDescList::iterator iter;
20 iter = this->begin();
21 while( iter != this->end() )
23 if( *iter == node )
25 delete node;
26 this->erase( iter );
27 return( SQL_SUCCESS );
29 iter++;
32 return(SQL_ERROR);
35 void CSqlOdbcDescList::freeAllDesc( void )
37 int size=(int)this->size();
38 if(size > 0)
40 CSqlOdbcDescList::iterator iter;
41 iter = this->begin();
42 while( iter != this->end() )
44 if(type_ == SQL_DESC_IMP)
46 if((*iter)->dataPtr_!= NULL)
48 if((*iter)->cType_ == SQL_C_CHAR || (*iter)->cType_ == SQL_C_BINARY)
49 delete [] (*iter)->dataPtr_;
50 else
51 delete (*iter)->dataPtr_;
52 (*iter)->dataPtr_=NULL;
55 delete *iter;
56 *iter=NULL;
57 iter++;
59 this->clear();
63 SQLRETURN CSqlOdbcDescList::getDescWithColNum( int colNum, CSqlOdbcDesc **out )
65 CSqlOdbcDescList::iterator iter;
66 iter = this->begin();
67 while( iter != this->end() )
69 if( colNum == (*iter)->col_ )
71 *out = *iter;
72 return( SQL_SUCCESS );
74 iter++;
77 return( SQL_ERROR );
80 CSqlOdbcDescList::CSqlOdbcDescList( int descType )
82 type_=descType;
85 // Class CSqlOdbcDesc Functions
86 //----------------------------------
87 CSqlOdbcDesc::CSqlOdbcDesc( void ) :
88 col_( 0 ),
89 dataPtr_( 0 ),
90 length_( 0 ),
91 precision_( 0 ),
92 scale_( 0 ),
93 indPtr_( 0 ),
94 cType_( -1 ),
95 sqlType_( -1 ),
96 csqlType_( -1 ),
97 paramType_( SQL_PARAM_TYPE_UNKNOWN )
99 schemaName_[0] = '\0';
100 tableName_[0] = '\0';
101 colName_[0] = '\0';