LINUX.ORG.RU

Опять кодировки...

 , ,


0

0

В продолжениии предыдущей темы. Обернул value в QString, все работало. Сейчас пришел, потыкал таблицу - опять все валится, опять те же гребаные ошибки. Психанул, обернул вообще все в QString, ибо хз что делать. Помоги, лор.

if (row < self.countOfPreg): # Если меньше, значит мы обновляемы существующую запись
    q = QString("UPDATE `table` SET `") \
        + QString(self.table_col_names[column]) + QString("` = '") \
        + QString(forceString(value)) + QString("' WHERE  `table`.`id` = ") \
        + QString(row) + QString("  AND `table`.`client_id` = ") \
        + QString(self.clientId) + QString(";")
else: # Иначе, добавляем новую
    q = QString("INSERT INTO `table`") \
        + QString("(`id`, `client_id`, `") + QString(self.table_col_names[column]) + QString("`)") \
        + QString("VALUES ('") \
            + QString(row) + QString("', '") \
            + QString(self.clientId) + QString("', '") \
            + QString(forceString(value)) \
        + QString("');")

Deleted

Помоги, лор.

не понял, а где уважаемый в крайнем случае дорогой?

anonymous
()

Вообще удивляет то, что на дворе 21 век, а люди с дубинками... питоном 2/пайкуте/апи вер. 1 работают, сразу легаси пишут.

zJes ★★
()
Ответ на: комментарий от zJes

Вообще удивляет то, что на дворе 21 век, а люди с дубинками..

Эту хрень пишут уже фиг знает сколько лет, и переписывать на новый софт вообще не собираются.

Deleted
()

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

по сабжу - какую ошибку выдает-то? навскидку - у тебя id числовые или строковые?

arkhnchul ★★★
()

Не проще ли убрать вообще эти все qstring, найти нормальную привязку к нужной БД и писать с удобным API, а не пилить вручную запросы? Не, если это наколенная поделка, то можно и без escaping, но...

Выше там дали ссылку на QSqlQuery - вот её почитай.

Lilly
()
Ответ на: комментарий от Lilly

Выше там дали ссылку на QSqlQuery - вот её почитай.

Я пробовал, да. Забил в гугл «PyQt QSqlQuery». В выдаче были ссылки прям по теме. Открываю - и там, и там пример на С++, хотя статья о PyQt. Ладно, видимо аналогично делается, подумал я. Забил, переделал синтаксис под питоновский, не работает.

Deleted
()

Я решительно не понимаю.

Если твой говнокод проприетарен, то ты пишешь его для кого-то. А у меня просто в голове не укладывается, как кто-то в своём уме мог нанять такого истеричного олигофрена.

anonymous
()

И да: я никогда не видел такого бездарного кода на Qt. Желаю тебе умереть в мучениях.

anonymous
()

Люблю полезные комментарии в коде, их полезность на уровне этого комментария в этой теме.

Dantix ★★
()
Ответ на: комментарий от Lilly

Ещё раз попаду по тегу на подобную тему - в игнор.

Лол, у меня все эти ссылки уже в истории посещений.

Седьмая ссылка.

Конкретно такой код у меня повсюду в проекте есть, я кое что другое искал.

Справочник.

http://pyqt.sourceforge.net/Docs/PyQt4/qsqlquery.html Посмотри «for example». PyQt? Python? Да пох, примеры на С++ будут. И я повторюсь - они просто так не работают при изменении синтаксиса на питоновский.

Как то так.

Deleted
()
Ответ на: комментарий от Dantix

Это просто чтобы визуально отделить два куска. Можно вообще не писать, но мне так больше нравится.

Deleted
()
Ответ на: комментарий от arkhnchul

Да я разобрался уже, пофиг. Проблема была лишь частично в кодировке.

Deleted
()
Ответ на: комментарий от Dantix

Да ты на сам код посмотри! Это же позорище.

anonymous
()
Ответ на: комментарий от Deleted

PyQt? Python?

Because this is based on the Qt C++ documentation it still contains C++ code fragments, broken links etc. These will be fixed in future releases.

Попробуй сперва составить запрос, после чего обернуть его в QString, если ошибка как в предыдущей теме.

Lilly
()
Ответ на: комментарий от Lilly

These will be fixed in future releases.

Долго же они все это фиксят.

Попробуй сперва составить запрос, после чего обернуть его в QString, если ошибка как в предыдущей теме.

Да, так и сделал. Там по мимо кодировок еще была проблема в том, что иногда в запрос некорректные данные пихались. Ну и вызывало это то же самое исключение, что и ошибка с кодировками.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.