diff -r cd9db43db120 -r 91cb012d779a src/PreparedStatement.h --- a/src/PreparedStatement.h Mon May 25 21:11:17 2020 +0200 +++ b/src/PreparedStatement.h Sun May 31 16:56:07 2020 +0200 @@ -16,10 +16,15 @@ */ #pragma once +#include +#include +#include + #include #include #include #include "SqlException.h" +#include "ResultSet.h" namespace relpipe { namespace tr { @@ -27,20 +32,21 @@ class PreparedStatement { private: - void* stmt; + void* statement; + std::wstring_convert> convertor; // TODO: support also other encodings + std::list booleanParameters; + std::list integerParameters; + std::list> stringParameters; public: PreparedStatement(void* stmt); virtual ~PreparedStatement(); - void setBoolean(int parameterIndex, relpipe::reader::boolean_t value); - void setInteger(int parameterIndex, relpipe::reader::integer_t value); - void setString(int parameterIndex, std::string value); - void setNull(int parameterIndex); - bool next(); + ResultSet* executeQuery(); + long executeUpdate(); void reset(); - int getColumnCount(); - std::string getColumName(int columnIndex); - relpipe::writer::TypeId getColumType(int columnIndex, relpipe::writer::TypeId defaultType = relpipe::writer::TypeId::STRING); - std::string getString(int columnIndex); + void setBoolean(int parameterNumber, relpipe::reader::boolean_t value); + void setInteger(int parameterNumber, relpipe::reader::integer_t value); + void setString(int parameterNumber, relpipe::reader::string_t value); + void setNull(int parameterNumber); }; }