From f634bafc38bb948e41f829b16f03e2f0b8ee8f93 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Thu, 30 Apr 2015 00:27:27 +0100 Subject: Adds support for SQLite, SQLite mocking and some basic tests --- libsqlitepp/modifycommand.cpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 libsqlitepp/modifycommand.cpp (limited to 'libsqlitepp/modifycommand.cpp') diff --git a/libsqlitepp/modifycommand.cpp b/libsqlitepp/modifycommand.cpp new file mode 100644 index 0000000..1b44cf4 --- /dev/null +++ b/libsqlitepp/modifycommand.cpp @@ -0,0 +1,31 @@ +#include "modifycommand.h" +#include "error.h" +#include +#include "connection.h" + +SQLite::ModifyCommand::ModifyCommand(const Connection * conn, const std::string & sql) : + DB::Command(sql), + DB::ModifyCommand(sql), + SQLite::Command(conn, sql) +{ +} + +SQLite::ModifyCommand::~ModifyCommand() +{ +} + +unsigned int +SQLite::ModifyCommand::execute(bool anc) +{ + if (sqlite3_step(stmt) != SQLITE_DONE) { + sqlite3_reset(stmt); + throw Error(sqlite3_errmsg(c->db)); + } + unsigned int rows = sqlite3_changes(c->db); + sqlite3_reset(stmt); + if (rows == 0 && !anc) { + throw Error("No rows affected"); + } + return rows; +} + -- cgit v1.2.3