From 2a1fa15d8baa4eda37e17b2e9362f8bde17a939d Mon Sep 17 00:00:00 2001 From: randomdan Date: Sat, 8 Jul 2006 16:32:05 +0000 Subject: libcodbcpp initial release --- libodbcpp/timetypepair.cpp | 59 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 libodbcpp/timetypepair.cpp (limited to 'libodbcpp/timetypepair.cpp') diff --git a/libodbcpp/timetypepair.cpp b/libodbcpp/timetypepair.cpp new file mode 100644 index 0000000..17a840e --- /dev/null +++ b/libodbcpp/timetypepair.cpp @@ -0,0 +1,59 @@ +#include "command.h" + +ODBC::TimeTypePair::TimeTypePair() +{ + memset(&_c, 0, sizeof(_c)); + memset(&_sql, 0, sizeof(_sql)); +} +ODBC::TimeTypePair::TimeTypePair(const ODBC::TimeTypePair::SQL_TS& t) +{ + memset(&_c, 0, sizeof(_c)); + memset(&_sql, 0, sizeof(_sql)); + set(t); +} +ODBC::TimeTypePair::TimeTypePair(tm const& t) +{ + memset(&_c, 0, sizeof(_c)); + memset(&_sql, 0, sizeof(_sql)); + set(t); +} + +tm const& +ODBC::TimeTypePair::set(const ODBC::TimeTypePair::SQL_TS& t) +{ + _sql = t; + sql2c(); + return _c; +} + +void +ODBC::TimeTypePair::sql2c() const +{ + _c.tm_year = _sql.year - 1900; + _c.tm_mon = _sql.month - 1; + _c.tm_mday = _sql.day; + _c.tm_hour = _sql.hour; + _c.tm_min = _sql.minute; + _c.tm_sec = _sql.second; +} + +const ODBC::TimeTypePair::SQL_TS& +ODBC::TimeTypePair::set(tm const& t) +{ + _c = t; + c2sql(); + return _sql; +} + +void +ODBC::TimeTypePair::c2sql() const +{ + _sql.year = _c.tm_year + 1900; + _sql.month = _c.tm_mon + 1; + _sql.day = _c.tm_mday; + _sql.hour = _c.tm_hour; + _sql.minute = _c.tm_min; + _sql.second = _c.tm_sec; + _sql.fraction = 0; +} + -- cgit v1.2.3