Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.10.21;
Скачать: [xml.tar.bz2];

Вниз

Параметры в Query.   Найти похожие ветки 

 
Hawk2   (2002-09-27 15:08) [0]

Мастера поведайте, как работать с параметрами в Query, а то у меня чего-то свойство Params в design-time не работает. Появляется окно добавления параметров, а там все не активизировано.


 
ch_victor   (2002-09-27 15:15) [1]

в запросе должны использоваться параметры
например
select pole1,pole2 from table
where pole1=:param1 and pole2=:param2

после этого у тебя появятся параметры
и можно будет их видеть в disign-time

параметры указываются с двоеточием впереди


 
Hawk2   (2002-09-27 15:30) [2]

Ну написал я запрос, а почему мне выбрасывает окно "Query1:Perameters ":Nom" not found" или "Поле "Nom" неопределенного типа"?


 
Max Zyuzin   (2002-09-27 15:45) [3]

А текст запроса можно посмотреть?


 
sunwheel   (2002-09-27 16:16) [4]

Попробуй присвоить параметру значение:

Query1.ParamByName("Nom").AsInteger := 0;


 
ch_victor   (2002-09-27 16:17) [5]

тип параметра нужно выбрать
ptInput если ты хочешь его передавать в запрос


 
Hawk2   (2002-09-27 16:19) [6]

Можно: SELECT * FROM SomeTable WHERE (Nomer=:Nom) OR (Fio=:Fio)


 
sniknik   (2002-09-27 16:32) [7]

design-time? не работает.
то есть пытаешся выполнить поставив свойство Active в true.
а больше ничего не делаеш? Для десигна надо их в десигне и присвоить. щелкни на Params и проставь значения.


 
ch_victor   (2002-09-27 16:39) [8]

вот кстати
почему если указываешь параметры в секции order by
и меняешь c помощью параметра сортировку

то это не работает, что в сортировке нельзя использовать параметры?


 
Hawk2   (2002-09-27 16:40) [9]

В том то и дело что "щелкни на Params и проставь значения.", а там все неактивно.


 
sniknik   (2002-09-27 16:43) [10]

а там свойство такое рядом ParamCheck похоже оно у тебя false.


 
sniknik   (2002-09-27 16:45) [11]

сначала сделай его true а после запрос с параметрами набери. если его позже менять не сработает.


 
Prooksius   (2002-09-27 16:51) [12]

Используй FIBPlus - у них есть такая штука, как макросы. Классная вещь. Я их как раз в Order By и использую.


 
Hawk2   (2002-09-27 17:04) [13]

Пробовал уже и так, но тут прикол, первый раз запрос выполняется без проблем, а потом ругается "Query1:Field "Nom" is of an anknown type."

procedure TForm1.Button2Click(Sender: TObject);
begin
Query1.Params.CreateParam(ftInteger,"Nom",ptInput);
Query1.ParamByName("Nom").AsInteger := StrToInt(Edit1.Text);
With Query1 do
begin
Close;
SQL.Clear;
SQL.Add("SELECT * FROM Proba22 WHERE (Nomer=:Nom)");
Open;
end;
end;


 
sniknik   (2002-09-27 17:11) [14]

ты же говорил
"Params в design-time не работает"
а это рантфйм. изза этого все и путаются.

надо
SQL.Clear;
SQL.Add("SELECT * FROM Proba22 WHERE (Nomer=:Nom)");
SQL.Params.ParamByName("Nom").AsInteger:= 9;
Open;

чтото вроде этого.


 
sniknik   (2002-09-27 17:14) [15]

вот эта строка
SQL.Add("SELECT * FROM Proba22 WHERE (Nomer=:Nom)");
все настройки переопределяет. параметры надо после определять.


 
Hawk2   (2002-09-27 18:28) [16]

Урра!!! ПОЛУЧИЛОСЬ!!!
TO sniknik: ОГРОМНОЕ СПАСИБО!!!
а то я раньше писал "SELECT * FROM SomeTable WHERE Nomer="+StrToInt(Edit1.Text)+" "... и в том же духе но хочется както цивилизовано.


 
sniknik   (2002-09-27 19:06) [17]

а что в этой нецивилизованного?
эта запись тоже нормальняя, не считая того что ты тут ошибся :-) как и я ранее, но смысл правильный. а с параметрами я обычно делаю когда их много или когда дату передаю, в запросе ее писать обязательно ошибешся.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.10.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.59 MB
Время: 0.045 c
1-68855
arcad
2002-10-09 13:57
2002.10.21
TSpinEdit


1-68817
AlmaSob
2002-10-10 05:04
2002.10.21
RANDOM


6-68907
[BAD]Angel
2002-08-12 15:43
2002.10.21
Как отследить?


1-68864
Феликс
2002-10-10 14:43
2002.10.21
Что же делать? Как мне быть?


1-68789
Dimedrol
2002-10-09 18:33
2002.10.21
DLL и компоненты доступа к БД





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский