Название: QString максимальный размер :( Отправлено: kibsoft от Февраль 12, 2010, 02:02 У меня в рантайме в QString формируется очень большой SQL запрос(например 192Кб примерно) и в один прекрасный момент строка просто становится пустой, т.е. меньшие запросы выполняются нормально, а на большие QString как я понимаю не хватает..что можно вместо него использовать?
P.S. Понимаю что тема не та, но может быть в Qt есть что-то для вставки многих строк в базу за раз (что я и делаю).. Название: Re: QString максимальный размер :( Отправлено: break от Февраль 12, 2010, 05:00 Никак нельзя ваш вариант перевести на QSqlQuery.prepare() и вызов QSqlQuery.exec() много раз с разными параметрами (bindValue), вместо формирования оч. длинной строки?
Название: Re: QString максимальный размер :( Отправлено: shirushizo от Февраль 12, 2010, 05:21 Никак нельзя ваш вариант перевести на QSqlQuery.prepare() и вызов QSqlQuery.exec() много раз с разными параметрами (bindValue), вместо формирования оч. длинной строки? И собствено, параметры можно записывать в QStringList и обрабатывать в цикле.(либо QSqlQuery::bindValue, либо QString::arg).P.s: Если честно не видел SQL-запросов в 192КБ :-\ Название: Re: QString максимальный размер :( Отправлено: SABROG от Февраль 12, 2010, 09:46 Обычно создается всего один запрос:
Код
Который передается в QSqlQuery::prepare() Затем на каждую колонку из запроса создается свой QVariantList. Листы заполняются данными. Далее привязываем эти листы к колонкам: Код
И выполняем: Код
Название: Re: QString максимальный размер :( Отправлено: shirushizo от Февраль 12, 2010, 09:56 Обычно создается всего один запрос: Код
Который передается в QSqlQuery::prepare() Затем на каждую колонку из запроса создается свой QVariantList. Листы заполняются данными. Далее привязываем эти листы к колонкам: Код
И выполняем: Код
О таком не слышал, вечно циклом проходил, буду знать, спасибо. Название: Re: QString максимальный размер :( Отправлено: kibsoft от Февраль 12, 2010, 22:09 SABROG, спасибо! Увеличил производительность программы в сто с лишним раз :)
|