Показать сообщение отдельно
  #7  
Старый 31.05.2012, 09:14
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,105
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от timondrik
Может кто то откинет свою жопестость на задний план и всё таки поможет нуждающемуся?

Раз!
Второго предупреждения не будет.

Теперь по существу. Вот ты сам сказал, что в php у тебя бы значение было бы в кавычках (подозреваю, что строковые литералы в php заключаются в двойные кавычки, а те же строковые литералы SQL внутри php-шной строки будут в одинарных). Отсюда вывод - значение 'Михаил' надо заключить в кавычки, причем одинарные.

Как заключать - дело выбора. Есть функция Quote (кажется так), можно просто приписать код одинарной кавычки через Chr или напрямую через код ($34 кажется). А можно воспользоваться встроенным методом - экранировать кавычку еще одной т.е. 2 идущие подряд кавычки внутри строки обозначают одну кавычку. Непонятно, наверное, короче надо вот так:
Код:
sql := 'SELECT * FROM patients WHERE name = ''михаил''';

PS. Но это вообще-то метод либо для динамической генерации, либо для криворуких товарищей. Обычно используются параметризованные запросы. Да и за * "вбыв бы"...

PPS. Кстати, в курсе, что в данном случае запрос чуствителен к регистру (зависит от настроек БД, но обычно это так)? Т.е. строки со значением, например, 'Михаил' не выберутся.

PPPS. А вообще, неплохо бы было для начала почитать хоть одну книжку по SQL и по Delphi. Многие вопросы бы сами отпали. Такие и подобные им моменты в книжках хорошо расписаны.
Ответить с цитированием