1 /* Class CSqlOdbcDescList
2 Description: Generic Descriptor manager.
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 ListIterator iter
= descList_
.getIterator();
20 CSqlOdbcDesc
*descElem
= NULL
;
21 while (iter
.hasElement()) {
22 descElem
= (CSqlOdbcDesc
*) iter
.nextElement();
23 if (descElem
== node
) {
26 descList_
.remove(descElem
);
27 return( SQL_SUCCESS
);
33 void CSqlOdbcDescList::freeAllDesc( void )
35 ListIterator iter
= descList_
.getIterator();
36 CSqlOdbcDesc
*descElem
= NULL
;
37 while (iter
.hasElement()) {
38 descElem
= (CSqlOdbcDesc
*) iter
.nextElement();
39 if (type_
== SQL_DESC_IMP
) {
40 if (descElem
->dataPtr_
!= NULL
) {
41 if(descElem
->csqlType_
== typeString
||
42 descElem
->csqlType_
== typeBinary
)
43 delete [] (char*)descElem
->dataPtr_
;
45 delete descElem
->dataPtr_
;
46 descElem
->dataPtr_
=NULL
;
55 SQLRETURN
CSqlOdbcDescList::getDescWithColNum( int colNum
, CSqlOdbcDesc
**out
)
57 ListIterator iter
= descList_
.getIterator();
58 CSqlOdbcDesc
*descElem
= NULL
;
59 while (iter
.hasElement()) {
60 descElem
= (CSqlOdbcDesc
*) iter
.nextElement();
61 if (colNum
== descElem
->col_
) {
69 CSqlOdbcDescList::CSqlOdbcDescList( int descType
)
74 // Class CSqlOdbcDesc Functions
75 //----------------------------------
76 CSqlOdbcDesc::CSqlOdbcDesc( void ) :
86 paramType_( SQL_PARAM_TYPE_UNKNOWN
)
88 schemaName_
[0] = '\0';