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/modifycommand.cpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 libodbcpp/modifycommand.cpp (limited to 'libodbcpp/modifycommand.cpp') diff --git a/libodbcpp/modifycommand.cpp b/libodbcpp/modifycommand.cpp new file mode 100644 index 0000000..706b3fd --- /dev/null +++ b/libodbcpp/modifycommand.cpp @@ -0,0 +1,33 @@ +#include "modifycommand.h" +#include "error.h" + +ODBC::ModifyCommand::ModifyCommand(const ODBC::Connection &c, String sql) : + Command(c, sql) +{ +} + +ODBC::ModifyCommand::~ModifyCommand() +{ +} + +unsigned int +ODBC::ModifyCommand::execute(bool anc) +{ + RETCODE rc = SQLExecute(hStmt); + if (rc != SQL_SUCCESS) { + if (rc != SQL_NO_DATA || !anc) { + throw Error(rc, SQL_HANDLE_STMT, hStmt, "%s: SQLExecute", + __FUNCTION__); + } + } + SQLINTEGER rows; + if ((rc = SQLRowCount(hStmt, &rows)) != SQL_SUCCESS) { + throw Error(rc, SQL_HANDLE_STMT, hStmt, "%s: SQLRowCount", + __FUNCTION__); + } + if (rows > 0 || anc) { + return rows; + } + throw Error("%s: No rows affected", __FUNCTION__); +} + -- cgit v1.2.3