summaryrefslogtreecommitdiff
path: root/src/prepared_statement.cpp
diff options
context:
space:
mode:
authorAndreas Baumann <abaumann@yahoo.com>2010-09-04 16:54:57 +0200
committerAndreas Baumann <abaumann@yahoo.com>2010-09-04 16:54:57 +0200
commit9a717577d06f00bb8a0c7338f7b687540b5e017d (patch)
treea81207d179392c440b700e86e5d400821e6bac45 /src/prepared_statement.cpp
parenta33fbbf643a52938063779a35167757a2426446e (diff)
downloadsqlitexx-9a717577d06f00bb8a0c7338f7b687540b5e017d.tar.gz
sqlitexx-9a717577d06f00bb8a0c7338f7b687540b5e017d.tar.bz2
some fixes for unsigned int parameters for prepared statements
Diffstat (limited to 'src/prepared_statement.cpp')
-rw-r--r--src/prepared_statement.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/prepared_statement.cpp b/src/prepared_statement.cpp
index fef5090..b8074b3 100644
--- a/src/prepared_statement.cpp
+++ b/src/prepared_statement.cpp
@@ -68,6 +68,13 @@ prepare::invocation& prepare::invocation::setparam( const int& value, bool nonnu
return *this;
}
+prepare::invocation& prepare::invocation::setparam( const unsigned int& value, bool nonnull ) {
+ SQLITEXX_UNUSED( nonnull );
+ _pos++;
+ _c.prepare_setparam( _stmt, _pos, value );
+ return *this;
+}
+
prepare::invocation& prepare::invocation::setparam( const char* value, bool nonnull ) {
SQLITEXX_UNUSED( nonnull );
_pos++;
@@ -163,6 +170,19 @@ void prepared_stmt::setparam( const int pos, const int v ) {
}
}
+void prepared_stmt::setparam( const int pos, const unsigned int v ) {
+ int rc;
+ assert( _stmt != NULL );
+ rc = sqlite3_bind_int( _stmt, pos, v );
+ if( rc != SQLITE_OK ) {
+ ostringstream s;
+ s << "sqlite3::prepared_stmt::setparam bind error: "
+ << sqlite3_errmsg( _db ) << " (rc: " << rc << ")";
+ string msg = s.str( );
+ throw sql_error( msg, _sql );
+ }
+}
+
void prepared_stmt::setparam( const int pos, const char* v ) {
int rc;
assert( _stmt != NULL );