SQL/ODBC: Pass correct length to SQLColAttribute()
This ensures the tst_QSqlQuery::record() test passes when checking the tablename. Change-Id: I146f9f627ea366c6813af61ce48b930ca1041b15 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 9ea00c70fbbe61d4c2da98c3d9390bfbada157bd) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
5171131fee
commit
0c50cf2691
@ -712,10 +712,15 @@ static QSqlField qMakeFieldInfo(const SQLHANDLE hStmt, int i, QString *errorMess
|
|||||||
f.setAutoValue(isAutoValue(hStmt, i));
|
f.setAutoValue(isAutoValue(hStmt, i));
|
||||||
QVarLengthArray<SQLTCHAR> tableName(TABLENAMESIZE);
|
QVarLengthArray<SQLTCHAR> tableName(TABLENAMESIZE);
|
||||||
SQLSMALLINT tableNameLen;
|
SQLSMALLINT tableNameLen;
|
||||||
r = SQLColAttribute(hStmt, i + 1, SQL_DESC_BASE_TABLE_NAME, tableName.data(),
|
r = SQLColAttribute(hStmt,
|
||||||
TABLENAMESIZE, &tableNameLen, 0);
|
i + 1,
|
||||||
|
SQL_DESC_BASE_TABLE_NAME,
|
||||||
|
tableName.data(),
|
||||||
|
SQLSMALLINT(tableName.size() * sizeof(SQLTCHAR)), // SQLColAttribute needs/returns size in bytes
|
||||||
|
&tableNameLen,
|
||||||
|
0);
|
||||||
if (r == SQL_SUCCESS)
|
if (r == SQL_SUCCESS)
|
||||||
f.setTableName(fromSQLTCHAR(tableName, tableNameLen));
|
f.setTableName(fromSQLTCHAR(tableName, tableNameLen / sizeof(SQLTCHAR)));
|
||||||
return f;
|
return f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user