Форум: "Базы";
Текущий архив: 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.47 MB
Время: 0.009 c