Files
Work/sql/SQLDATA.CPP
2024-08-07 09:16:27 -04:00

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);
}