#include SQLString SQLData::toString(void) { SQLString stringData; if(!mSqlData.isOkay())return stringData; switch(type()) { case SQLDataBit : case SQLDataVarChar : case SQLDataLongVarChar : case SQLDataCChar : return (char*)(BYTE*)mSqlData; case SQLDataCLong : case SQLDataBigInt : case SQLDataLongVarBinary : ::sprintf(stringData,"%ld",*((long*)(BYTE*)mSqlData)); return stringData; case SQLDataCShort : case SQLDataTinyInt : ::sprintf(stringData,"%d",*((short*)(BYTE*)mSqlData)); return stringData; case SQLDataCFloat : case SQLDataFloat : ::sprintf(stringData,"%lf",*((float*)(BYTE*)mSqlData)); return stringData; case SQLDataCDouble : ::sprintf(stringData,"%lf",*((double*)(BYTE*)mSqlData)); return stringData; case SQLDataTimeStamp : handleTimeStamp(stringData); break; case SQLDataDate : case SQLDataTime : case SQLDataBinary : case SQLDataDecimal : case SQLDataNumeric : case SQLDataVarBinary : break; } return stringData; } void SQLData::handleTimeStamp(String &stringData) { TIMESTAMP_STRUCT *pTimeStamp=(TIMESTAMP_STRUCT*)(BYTE*)mSqlData; ::sprintf(stringData,"%04d-%02d-%02d %02d:%02d:%02d.%09d", pTimeStamp->year,pTimeStamp->month,pTimeStamp->day,pTimeStamp->hour,pTimeStamp->minute,pTimeStamp->second,pTimeStamp->fraction); }