mirror of
https://github.com/pocoproject/poco.git
synced 2025-02-21 14:42:51 +01:00
* BUGFIX: SQLiteStatement was return affected rows even when there were none
* Allows binding of null Poco::Any.
This commit is contained in:
parent
c867a80520
commit
74cb607471
@ -194,12 +194,12 @@ void SQLiteStatementImpl::bindImpl()
|
||||
|
||||
if (_bindBegin != bindings().end())
|
||||
{
|
||||
_affectedRowCount = (*_bindBegin)->numOfRowsHandled();
|
||||
std::size_t boundRowCount = (*_bindBegin)->numOfRowsHandled();
|
||||
|
||||
Bindings::iterator oldBegin = _bindBegin;
|
||||
for (std::size_t pos = 1; _bindBegin != bindEnd && (*_bindBegin)->canBind(); ++_bindBegin)
|
||||
{
|
||||
if (_affectedRowCount != (*_bindBegin)->numOfRowsHandled())
|
||||
if (boundRowCount != (*_bindBegin)->numOfRowsHandled())
|
||||
throw BindingException("Size mismatch in Bindings. All Bindings MUST have the same size");
|
||||
|
||||
(*_bindBegin)->bind(pos);
|
||||
|
@ -458,6 +458,8 @@ void AbstractBinder::bind(std::size_t pos, const Any& val, Direction dir)
|
||||
bind(pos, RefAnyCast<Time>(val), dir);
|
||||
else if(type == typeid(BLOB))
|
||||
bind(pos, RefAnyCast<BLOB>(val), dir);
|
||||
else if(type == typeid(void))
|
||||
bind(pos, Keywords::null, dir);
|
||||
#ifndef POCO_LONG_IS_64_BIT
|
||||
else if(type == typeid(long))
|
||||
bind(pos, RefAnyCast<long>(val), dir);
|
||||
|
Loading…
x
Reference in New Issue
Block a user