Russian Qt Forum

Qt => Базы данных => Тема начата: Примерный ученик от Апрель 06, 2009, 20:35



Название: Русские символы в SQL запросе
Отправлено: Примерный ученик от Апрель 06, 2009, 20:35
В main

Код:
	QTextCodec::setCodecForCStrings(QTextCodec::codecForName("Windows-1251")); 

База PostgreSQL в кодировке KOI8-R

C отображением на всех визуальных компонентах проблем нет, чтение и изменение - все нормально.
Однако не получается оформить запрос по текстовому полю с русскими символами.

Вопрос пример
Код:
QSqlQuery sql;
sql.exec("SELECT name FROM test");
sql.next();
QString ss=sql.value(0).toString();
sql.exec("SELECT id FROM best WHERE name="+ss);
if (sql.next())
{
...  // не попали сюда
}
Как нужно делать?
P.S. winXP QT3.3.8 PostgreSQL 8.1


Название: Re: Русские символы в SQL запросе
Отправлено: Hellraiser от Апрель 06, 2009, 21:15
А если попробовать кавычки?
Код:
sql.exec("SELECT id FROM best WHERE name=\""+ss+"\";");


Название: Re: Русские символы в SQL запросе
Отправлено: Примерный ученик от Апрель 06, 2009, 21:37
Спасибо за наводку.
Помогло
Код:
sp="SELECT id FROM best WHERE name='"+ss+"'";