diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2015-12-24 04:00:01 +0000 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2015-12-24 04:00:01 +0000 |
commit | 55dc8fa7bef00c0d382860b2f9b0245731db2bcb (patch) | |
tree | d68bc64bc6ba5e8c91f2d32f0c691b9be6998cb0 /libpqpp/pq-command.h | |
parent | Use parent glibmm (diff) | |
download | libdbpp-postgresql-55dc8fa7bef00c0d382860b2f9b0245731db2bcb.tar.bz2 libdbpp-postgresql-55dc8fa7bef00c0d382860b2f9b0245731db2bcb.tar.xz libdbpp-postgresql-55dc8fa7bef00c0d382860b2f9b0245731db2bcb.zip |
PostgreSQL files prefixed with pq-
Diffstat (limited to 'libpqpp/pq-command.h')
-rw-r--r-- | libpqpp/pq-command.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/libpqpp/pq-command.h b/libpqpp/pq-command.h new file mode 100644 index 0000000..32faaa0 --- /dev/null +++ b/libpqpp/pq-command.h @@ -0,0 +1,47 @@ +#ifndef PQ_COMMAND_H +#define PQ_COMMAND_H + +#include <command.h> +#include <libpq-fe.h> +#include <vector> + +namespace PQ { + class Connection; + class Command : public virtual DB::Command { + public: + Command(const Connection *, const std::string & sql, unsigned int no); + virtual ~Command() = 0; + + void bindParamI(unsigned int, int); + void bindParamI(unsigned int, long int); + void bindParamI(unsigned int, long long int); + void bindParamI(unsigned int, unsigned int); + void bindParamI(unsigned int, long unsigned int); + void bindParamI(unsigned int, long long unsigned int); + + void bindParamB(unsigned int, bool); + + void bindParamF(unsigned int, double); + void bindParamF(unsigned int, float); + + void bindParamS(unsigned int, const Glib::ustring&); + + void bindParamT(unsigned int, const boost::posix_time::time_duration &); + void bindParamT(unsigned int, const boost::posix_time::ptime &); + + void bindNull(unsigned int); + protected: + static void prepareSql(std::string & psql, const std::string & sql); + const std::string stmntName; + const Connection * c; + + void paramsAtLeast(unsigned int); + std::vector<char *> values; + std::vector<int> lengths; + std::vector<int> formats; + }; +} + +#endif + + |