From 9a7624ce5c4f78f89408eb0d9a33b1cd1569eb3c Mon Sep 17 00:00:00 2001 From: Bill King Date: Wed, 30 Sep 2009 15:26:42 +1000 Subject: (TDS) Fixes missing field/table name escaping. --- src/sql/drivers/tds/qsql_tds.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/sql/drivers/tds/qsql_tds.cpp') diff --git a/src/sql/drivers/tds/qsql_tds.cpp b/src/sql/drivers/tds/qsql_tds.cpp index 005905b74d..dddc1b46c8 100644 --- a/src/sql/drivers/tds/qsql_tds.cpp +++ b/src/sql/drivers/tds/qsql_tds.cpp @@ -794,4 +794,15 @@ QSqlIndex QTDSDriver::primaryIndex(const QString& tablename) const return idx; } +QString QTDSDriver::escapeIdentifier(const QString &identifier, IdentifierType type) const +{ + QString res = identifier; + if(!identifier.isEmpty() && !identifier.startsWith(QLatin1Char('"')) && !identifier.endsWith(QLatin1Char('"')) ) { + res.replace(QLatin1Char('"'), QLatin1String("\"\"")); + res.prepend(QLatin1Char('"')).append(QLatin1Char('"')); + res.replace(QLatin1Char('.'), QLatin1String("\".\"")); + } + return res; +} + QT_END_NAMESPACE -- cgit v1.2.3