From 53effcb42a7aaebe64b34cc9c6b40f4bcbdc82f0 Mon Sep 17 00:00:00 2001 From: Philipp Spitzer Date: Sun, 10 Jul 2011 19:37:00 +0000 Subject: [PATCH 1/1] Fixed bug (related to ticket #12): Only the last search term is used. --- src/sql/sqlengine.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/sql/sqlengine.cpp b/src/sql/sqlengine.cpp index a5aa192..419b3e0 100644 --- a/src/sql/sqlengine.cpp +++ b/src/sql/sqlengine.cpp @@ -317,7 +317,7 @@ int SqlEngine::searchEvent(int aConferenceId, const QHash &aCol foreach (QString table, aColumns.uniqueKeys()){ foreach (QString column, aColumns.values(table)){ for (int i=0; i < searchKeywords.count(); i++){ - sql += QString("%1.%2 LIKE '\%' || :%1%2 || '\%' OR ").arg( table, column ); + sql += QString("%1.%2 LIKE '\%' || :%1%2%3 || '\%' OR ").arg(table).arg(column).arg(i); } } } @@ -328,8 +328,9 @@ int SqlEngine::searchEvent(int aConferenceId, const QHash &aCol query.prepare(sql); foreach (QString table, aColumns.uniqueKeys()){ foreach (QString column, aColumns.values(table)){ - foreach (QString keyword, searchKeywords){ - query.bindValue(QString(":%1%2").arg(table, column), keyword ); + for (int i = 0; i != searchKeywords.size(); ++i) { + QString keyword = searchKeywords[i]; + query.bindValue(QString(":%1%2%3").arg(table).arg(column).arg(i), keyword ); } } } -- 2.30.2