From de6be7bbb9a2984a514d4076d77d97b054585d7c Mon Sep 17 00:00:00 2001 From: randomdan Date: Wed, 7 Apr 2010 19:25:52 +0000 Subject: Add a writeToBuf function and use it --- libodbcpp/column.cpp | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) (limited to 'libodbcpp/column.cpp') diff --git a/libodbcpp/column.cpp b/libodbcpp/column.cpp index 0d0e6e2..14b12f8 100644 --- a/libodbcpp/column.cpp +++ b/libodbcpp/column.cpp @@ -1,3 +1,5 @@ +#include +#include #include "column.h" #include "command.h" #include "error.h" @@ -67,5 +69,54 @@ namespace ODBC { REBIND(float, bindParamF) REBIND(TimeTypePair, bindParamT) REBIND(unsigned char *, bindParamS) -} + template <> + int + _Column::writeToBuf(char ** buf, const char * fmt) const + { + return asprintf(buf, fmt, value); + } + template <> + int + _Column::writeToBuf(char ** buf) const + { + return writeToBuf(buf, "%d"); + } + template <> + int + _Column::writeToBuf(char ** buf, const char * fmt) const + { + return asprintf(buf, fmt, value); + } + template <> + int + _Column::writeToBuf(char ** buf) const + { + return writeToBuf(buf, "%ld"); + } + template <> + int + _Column::writeToBuf(char ** buf, const char * fmt) const + { + return asprintf(buf, fmt, value); + } + template <> + int + _Column::writeToBuf(char ** buf) const + { + return writeToBuf(buf, "%s"); + } + template <> + int + _Column::writeToBuf(char ** buf, const char * fmt) const + { + *buf = (char *)malloc(30); + return strftime(*buf, sizeof(buf), fmt, &value.c()); + } + template <> + int + _Column::writeToBuf(char ** buf) const + { + return writeToBuf(buf, "%F %T"); + } +} -- cgit v1.2.3