Changeset 183
- Timestamp:
- 09/03/08 11:52:20 (4 months ago)
- Files:
-
- branches/debea_1_2/dba/dba/odbc.cpp (modified) (4 diffs)
- branches/debea_1_2/dba/dba/odbc.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/debea_1_2/dba/dba/odbc.cpp
r117 r183 741 741 742 742 OdbcResult::~OdbcResult() { 743 delete[] mColumns; 743 744 } 744 745 … … 791 792 }; 792 793 794 OdbcResult::ColumnData::ColumnData() 795 : mNull(true), 796 mCharBuf(0), 797 mCharPtr(0), 798 mDataSize(0), 799 mBufCapacity(0), 800 mCType(SQL_UNKNOWN_TYPE) 801 { 802 } 803 793 804 void 794 805 OdbcResult::ColumnData::init() { 806 //free old data 807 cleanup(); 795 808 //prepare variant for data retrieval 796 809 //assuming that for variable sized columns … … 903 916 }; 904 917 918 void 919 OdbcResult::ColumnData::cleanup() { 920 if (SQL_C_WCHAR == mCType || SQL_C_CHAR == mCType) { 921 delete [] mCharBuf; 922 mCharBuf = 0; 923 mCType = SQL_UNKNOWN_TYPE; 924 mCharPtr = 0; 925 } 926 } 927 905 928 void 906 929 OdbcResult::ColumnData::decrementEndDataPtr() { … … 954 977 }; 955 978 956 957 979 OdbcResult::ColumnData::~ColumnData() { 958 delete [] mCharPtr;980 cleanup(); 959 981 }; 960 982 961 983 OdbcResult::OdbcResult(OdbcConnection* pConn, HSTMT pHstmt) 962 : mHstmt(pHstmt) 984 : mHstmt(pHstmt), 985 mColumns(0) 963 986 { 964 987 setParentErrorHandler(pConn); branches/debea_1_2/dba/dba/odbc.h
r88 r183 148 148 class ColumnData { 149 149 public: 150 ColumnData() {};150 ColumnData(); 151 151 /** 152 152 Get pointer to first byte of retrieved data … … 214 214 ColumnData(const ColumnData&); 215 215 ColumnData& ColumnData::operator=(const ColumnData&); 216 /** 217 Remove all previously assigned data 218 */ 219 void cleanup(); 216 220 /** 217 221 Row data. Variant used depends on mColumn.getOdbcType
