QString.toInt () не работает - Ошибка: недопустимые операнды для двоичного выражения ('const char *' и 'const char [14]') - PullRequest
0 голосов
/ 19 июня 2020

У меня есть этот код:

QString carda = "000123";
QString queryStringAnet("SELECT * FROM [records] WHERE ([user]='" + carda.toInt() + "' AND [apl]='"+apl+"' AND [tasktype]='"+taskType+"' AND [taskkind]='"+taskKind+"' AND [timestamp]='"+timestamp+"')");

и для преобразования из QString в Int, когда я использую carda.toInt (), у меня есть эта ошибка:

error: invalid операнды в двоичное выражение ('const char *' и 'const char [14]')

и предупреждения:

warning: adding 'int' to a string does not append to the string
use array indexing to silence this warning

Я не понимаю, почему QString.toInt () не работать ... есть идеи?

1 Ответ

3 голосов
/ 19 июня 2020

Я не понимаю, почему QString.toInt () не будет работать ... любая идея?

проблема в том, что в qt вы просто не можете объединить строки и числа. ..

и на самом деле вам даже не нужно преобразовывать строку carda в целое число, потому что это QString

, а просто выполните:

QString queryStringAnet("SELECT * FROM [records] WHERE ([user]='" + carda + "' AND [apl]='"+apl+"' AND [tasktype]='"+taskType+"' AND [taskkind]='"+taskKind+"' AND [timestamp]='"+timestamp+"')");
...