diff options
Diffstat (limited to 'src/prepared_statement.cpp')
-rw-r--r-- | src/prepared_statement.cpp | 20 |
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 ); |