Russian Qt Forum

Qt => Базы данных => Тема начата: visor_ua от Октябрь 01, 2006, 21:26



Название: Кавычки в QSqlQuery
Отправлено: visor_ua от Октябрь 01, 2006, 21:26
Есть ли стандартная проверка кавычек в QSqlQuery. Пример:
Код:

insert into test( description ) values( 'This's trouble');


Название: Кавычки в QSqlQuery
Отправлено: Steven_Orko от Октябрь 01, 2006, 22:04
Не понятен вопрос.
Что имеется виду под проверкой? Все ли открытые кавычки закрыты? А смысл это проверять?


Название: Кавычки в QSqlQuery
Отправлено: visor_ua от Октябрь 01, 2006, 22:29
Ситуация когда считываем данные с контрола и записываем в QString.
Код:

QString str("This's trouble");
QString strQuery = QString("insert into test( description ) values( '%1')").arg(str);
QSqlQuery query(strQuery);

Нужно ли самому проверку считанных данных делать?

добавлено спустя 12 минут:

 Проблема отпала, через bindValue - все красиво работает


Название: Кавычки в QSqlQuery
Отправлено: Admin от Октябрь 02, 2006, 08:48
Данные вчегда нужно проверять
а то введет вам польщзователь типа 1' or 1=1 вот вам и SQL иньекция.


Название: Кавычки в QSqlQuery
Отправлено: bigirbis от Октябрь 02, 2006, 08:57
Тогда так:
Код:
QString shift="";
QString str = lineEdit->text().replace( '\'', shift );
sqlQuery.bindValue( "%1", str );