Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с запросом!! [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 +'%';


Наверх

Титульная страница Поиск, карта сайта Написать письмо