51 lines
1.3 KiB
C++
51 lines
1.3 KiB
C++
#include <sql/sqldata.hpp>
|
|
|
|
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);
|
|
}
|