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 | b177499d168936da9e64a964beb22f6057880703 (patch) | |
tree | c093da732b44e713af9fad35ff70539455cc355a /libpqpp/pq-command.h | |
parent | Use parent glibmm (diff) | |
download | libdbpp-postgresql-b177499d168936da9e64a964beb22f6057880703.tar.bz2 libdbpp-postgresql-b177499d168936da9e64a964beb22f6057880703.tar.xz libdbpp-postgresql-b177499d168936da9e64a964beb22f6057880703.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 + + |