Russian Qt Forum
Мая 19, 2025, 17:40 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Как экранировать одинарную кавычку для SQLite  (Прочитано 27713 раз)
andrew.k
Гость
« Ответ #15 : Сентября 29, 2011, 13:42 »

Нэт, так не пойдет мне нужно, что бы базе хранился именно исходный текст c одинарными кавычками: Noch'. Ulica. Fonar'. 
'' != " присмотрись сам Подмигивающий Там два апострофа. При выполнении запроса они нужны, а в базу лягут уже по одному

Потому что нужно было просто написать "экранируется второй кавычкой".
Но это не нужно. Ты ж не будешь везде добавлять вторую кавычку.
Нужно просто использовать bindValue
Записан
Nimbus
Гость
« Ответ #16 : Сентября 30, 2011, 04:57 »

Нужно просто использовать bindValue
Логично. Немного оффтопа:
Вообще, я считаю, что все данные в запрос надо передавать через параметры. Ибо такие крупные СУБД как Oracle и PostgreSQL (не знаю насчёт остальных) выполняют их быстрее, потому что не приходится каждый раз выполнять парсинг и строить план выполнения запроса, заодно это безопасно
Записан
MoPDoBoPoT
Гость
« Ответ #17 : Сентября 30, 2011, 22:35 »

выполняют их быстрее, потому что не приходится каждый раз выполнять парсинг и строить план выполнения запроса, заодно это безопасно
Это если запрос многократно используется (:
Записан
fuCtor
Гость
« Ответ #18 : Октября 02, 2011, 07:30 »

Если он используется лишь один раз, то как минимум не будет выигрыша по производительности, но зато меньше проблем со всякими символами, экранированием и тп. Да и логику при необходимости писать легче.
Записан
Rem Norton
Гость
« Ответ #19 : Октября 02, 2011, 17:00 »

Нужно просто использовать bindValue
Логично. Немного оффтопа:
Вообще, я считаю, что все данные в запрос надо передавать через параметры. Ибо такие крупные СУБД как Oracle и PostgreSQL (не знаю насчёт остальных) выполняют их быстрее, потому что не приходится каждый раз выполнять парсинг и строить план выполнения запроса, заодно это безопасно
ЛОЛШТО??? Спасибо, поржали всем офисом!
Записан
asvil
Гость
« Ответ #20 : Октября 02, 2011, 17:45 »

Цитировать
ЛОЛШТО??? Спасибо, поржали всем офисом!
Умник детектед.

словосочетние
Цитировать
каждый раз
уже предполагает использование более одного раза.
Записан
Nimbus
Гость
« Ответ #21 : Октября 02, 2011, 18:10 »

ЛОЛШТО??? Спасибо, поржали всем офисом!
About?
Записан
Rem Norton
Гость
« Ответ #22 : Октября 02, 2011, 19:50 »

ЛОЛШТО??? Спасибо, поржали всем офисом!
About?
Откуда вообще информация, что параметризованные запросы Postgre выполняет быстрее??? Что-то в исходниках Postgre ни я, ни мои коллеги ничего такого не нарыли... НО поржали от души!
Записан
asvil
Гость
« Ответ #23 : Октября 02, 2011, 19:54 »

Кодокопатели.

http://www.postgresql.org/docs/8.1/static/libpq-exec.html

Цитировать
PQprepare
............
    PQprepare creates a prepared statement for later execution with PQexecPrepared. This feature allows commands that will be used repeatedly to be parsed and planned just once, rather than each time they are executed.
............
Записан
Rem Norton
Гость
« Ответ #24 : Октября 02, 2011, 20:21 »

Кодокопатели.

http://www.postgresql.org/docs/8.1/static/libpq-exec.html

Цитировать
PQprepare
............
    PQprepare creates a prepared statement for later execution with PQexecPrepared. This feature allows commands that will be used repeatedly to be parsed and planned just once, rather than each time they are executed.
............

Для не знающих ангельского и презирающих on-line переводчики: ключевой момент фразы " ... commands that will be used repeatedly..." в переводе означает "команды, которые будут использоваться неоднократно". При единоразовом выполнении НИКАКОГО ПРИРОСТА СКОРОСТИ НЕ БУДЕТ. И так, для информации: все, уважающие себя СУБД имеют кэш запросов, в котором даже не параметризованный запрос хранится в виде execution плана. И, если запрос вызвать более одного раза, но с разными параметрами, он (какая неожиданность) выполнится быстрее, чем в первый раз.

И, да: коды рулят!  Смеющийся
Записан
Nimbus
Гость
« Ответ #25 : Октября 03, 2011, 04:13 »

При единоразовом выполнении НИКАКОГО ПРИРОСТА СКОРОСТИ НЕ БУДЕТ. И так, для информации: все, уважающие себя СУБД имеют кэш запросов, в котором даже не параметризованный запрос хранится в виде execution плана.
Я это и имел ввиду, говоря "каждый раз", как уже пояснили выше Подмигивающий
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.021 секунд. Запросов: 18.