![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с запросом!! [D7, dBase, FoxPro]
CFi © (2007-05-16 20:36:00)ПРивет!! Такая проблема: При выполнении кода
Par:=EditFind.Text;
QFind.SQL.Text:='SELECT * FROM Table WHERE Name like "%'+ Par +'%"';
Вылезает ошибка: "Слишком мало параметров. Требуется 1"
На Access этот код пахал, может дело в dBase??
ЮЮ (2007-05-17 12:05:00) [1]Собрать из двуз вариантов один :)
QFind.SQL.Text:='SELECT * FROM Table WHERE Name like :par';
QFind.Parameters.ParamByName('Par').Value := '%'+ Par +'%';
CFi (2007-05-17 12:00:00) [2]Что не так?
CFi (2007-05-17 11:58:00) [3]
QFind.SQL.Text:='SELECT * FROM Table WHERE Name like :p1';
QFind.Params[0].AsString:='%'+ EditFind.Text +'%';
Этот код не работает,т.к у меня у QFind нет свойсва Params!
Я пишу так
QFind.SQL.Text:='SELECT * FROM PVLIM WHERE NM like "% :Par %"';
QFind.Parameters.ParamByName('Par').Value:=Par;
В ответ, что Параметр Par не найден!
iXT (2007-05-17 01:20:00) [4]Дык на вопрос тебе ответили :) Или в третий раз примерчик?
Так ты же теперь не отвечаешь что сделал, как, где не работает и т.п. Или ты хочешь чтоб все напрягли свои телепаторы, и написали тебе готовый код под твои только тебе ведомые нужды?
И поведение твое не совсем как то, блин, не располагает к тому, что бы люди хотели тебе помочь
CFi (2007-05-17 01:05:00) [5]iXT а ты можешь что-нитбудь сказать по данному вопросу?? А то все пустая болтовня а дел никаких.
iXT (2007-05-17 00:42:00) [6]Если человек думает, что он знает все, то он просто не знает о том что он может знать еще.
Чем больше он знает, тем больше он знает того, как мало он знает.
> CFi (17.05.07 00:30) [10]
> А по моему ни хр....на ты не можешь!!!! А если можешь подскажи11
Это из каких соображений такой вывод?
CFi (2007-05-17 00:30:00) [7]А по моему ни хр....на ты не можешь!!!! А если можешь подскажи11
Anatoly Podgoretsky (2007-05-16 22:09:00) [8]А потом подумай, что такое параметры
Anatoly Podgoretsky (2007-05-16 22:05:00) [9]Могу, но и ты поработай немного, рыба тебе дана
CFi (2007-05-16 21:54:00) [10]А сам придумать можешь что?? И это '%' не прокатит т.к параметр текстовый и нужны кавычки!
Anatoly Podgoretsky (2007-05-16 21:30:00) [11]Пример уже написан, ну сделаю тебе одолжение повторю его еще раз
QFind.SQL.Text:='SELECT * FROM Table WHERE Name like :p1';
QFind.Params[0].AsString:='%'+ EditFind.Text +'%';
CFi (2007-05-16 21:24:00) [12]Ну какой синтакс-то я и спрашиваю??
Примерчик напиши!
Anatoly Podgoretsky (2007-05-16 21:05:00) [13]> CFi (16.05.2007 20:48:02) [2]
Есть но не в твоих компонентах, про которые ты умалчиваешь
Anatoly Podgoretsky (2007-05-16 21:04:00) [14]> CFi (16.05.2007 20:36:00) [0]
Используй параметры и не используй зарезервированые имена (NAME) или по крайней мере используй в соответствии с синтаксисом движка
CFi (2007-05-16 20:48:00) [15]Не получается!! Нету такого: Params
Desdechado (2007-05-16 20:41:00) [16]Видимо, в EditFind.Text стоит двоеточие.
Сделай запрос так:
QFind.SQL.Text:='SELECT * FROM Table WHERE Name like :p1';
QFind.Params[0].AsString:='%'+ EditFind.Text +'%';