Страница 1 из 1

Не получается поиск с помощью IBQuery. Не могу поня ПОЧЕМУ?

Добавлено: 16 авг 2004, 22:39
Vano
Когда я в ходе выполнения проги добавляю в кверик такую строку:

Код: Выделить всё

IBQuery1.SQL.Add('select * from table_name where field1='+Edit1.Text+' and field2='+Edit2.Text+' and field3='+Edit3.Text)
выдает ошибку, если в Edit не вводить данные в верхних одинарных апострофах.
Когда писал базу на InterBase 5.6 я писал так:

Код: Выделить всё

IBQuery1.SQL.Add('select * from table_name where field1="'+Edit1.Text+"' and field2="'+Edit2.Text+'" and field3='+Edit3.Text+'"')
и всё работало. А в InterBase 6.5 так не катит.
Подскажите как можно решить эту проблему!!!

Добавлено: 17 авг 2004, 09:02
Naeel Maqsudov
Начиная с IB 6.0 в двойных кавычках указываются имена полей, таблиц или их псевдонимы (если они содержат пробелы и/или русские буквы). Текст ограничивается ОДИНАРНЫМИ кавычками. Следовательно прокатит вариант:

Код: Выделить всё

IBQuery1.SQL.Add('select * from table_name where field1='''+Edit1.Text+''' and field2='''+Edit2.Text+''' and field3='''+Edit3.Text+'''')
(Две одинарные кавычки внутри строки Паскаль транслирует в одну одинарную. Ну или chr(39) можно использовать. Это кому как больше нравится.)

Добавлено: 18 авг 2004, 13:56
Vano
Да я уже сам нашёл это. Но всё равно спасибо за ответ! :wink:

Re: Не получается поиск с помощью IBQuery. Не могу поня ПОЧЕМУ?

Добавлено: 12 окт 2008, 18:15
sasha3050
Пожалуйста помогите очень надо!!!!!!!!!!!Написать программу на Paskal, которая вычисляет среднюю длину слов в файле, который содержит текст.В данном случае будет считатьтся любая строка символов, которая начинается и заканчивается одним с следующих елеметов: пробел, запятая, точка, начало строки и конец строки.В программе должна быть обозначена функция, которая получает в качестве аргумента поток ввода с файла.