Как добавлять в базу текст со спецсимволами?, К примеру: ' |
Здравствуйте, гость ( Вход | Регистрация )
Как добавлять в базу текст со спецсимволами?, К примеру: ' |
RazrFalcon |
23.4.2011, 18:10
Сообщение
#1
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Из-за наличия ', вся строка не отображается в таблице. Как экранировать, что ли, все спецсимволы, из-за которых могут быть такие сбои. |
|
|
silver47 |
23.4.2011, 18:38
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
Для экранирования воспользуйтесь символом \
|
|
|
RazrFalcon |
23.4.2011, 18:39
Сообщение
#3
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Пробовал, не помогает.
|
|
|
silver47 |
23.4.2011, 18:46
Сообщение
#4
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6 |
Думал что нужно в Qt заэкранировать. Сейчас только что проверил на своей SQLite никаких проблем не имею с добавлением строки вида Something'Something
Добавляю через запрос вида
Сообщение отредактировал silver47 - 23.4.2011, 18:49 |
|
|
MoPDoBoPoT |
23.4.2011, 18:47
Сообщение
#5
|
Участник Группа: Участник Сообщений: 172 Регистрация: 7.5.2009 Из: Москва Пользователь №: 738 Спасибо сказали: 44 раз(а) Репутация: 9 |
Вообще-то, в SQL апостроф экранируется апострофом, то есть должно быть примерно так:
В данном случае в запрос передаются константные строки (твои), поэтому можно обойтись простым экранированием, ну а вообще, лучшей практикой является использование связываемых переменных (биндинг), которые исключают возможные SQL-инъекции. |
|
|
RazrFalcon |
23.4.2011, 18:54
Сообщение
#6
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Добавляю через запрос вида
Это помогло, спасибо. Хотя полчаса назад, такая же строка, не срабатывала PS: а где вообще все команды, для управление БД, описаны. Я не про Qt-е, а про И тд.UPD: до этого не работало, потому что выдранная из форму строка была такой:
Сообщение отредактировал RazrFalcon - 23.4.2011, 18:59 |
|
|
Текстовая версия | Сейчас: 27.11.2024, 2:51 |