diff --git a/rdbms/SqliteStmt.cpp b/rdbms/SqliteStmt.cpp index bb3587906f0a46851f276ef544390c6c801140be..1e1c047a04d1b53b3e4373bae34ca1ac59e823f1 100644 --- a/rdbms/SqliteStmt.cpp +++ b/rdbms/SqliteStmt.cpp @@ -101,7 +101,9 @@ void SqliteStmt::bindUint64(const std::string ¶mName, const uint64_t paramVa //------------------------------------------------------------------------------ void SqliteStmt::bindString(const std::string ¶mName, const std::string ¶mValue) { const unsigned int paramIdx = m_paramNameToIdx.getIdx(paramName); - const int bindRc = sqlite3_bind_text(m_stmt, paramIdx, paramValue.c_str(), -1, SQLITE_TRANSIENT); + const int bindRc = paramValue.empty() ? + sqlite3_bind_text(m_stmt, paramIdx, nullptr, 0, SQLITE_TRANSIENT) : + sqlite3_bind_text(m_stmt, paramIdx, paramValue.c_str(), -1, SQLITE_TRANSIENT); if(SQLITE_OK != bindRc) { throw exception::Exception(std::string(__FUNCTION__) + "failed for SQL statement " + getSql()); }