Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.19;
Скачать: CL | DM;

Вниз

Проблеммы с запросом ADOQuery с параметрами   Найти похожие ветки 

 
Noir ©   (2003-11-25 18:34) [0]

Вот какая беда тут у меня происходит. Не работает такая вот конструкция? то есть не возвращает результата никакого.

with DataModule2.q_chuser do
begin
if Active then Close;
SQL.Clear;
SQL.Add("Select * from users where nick= :p1");
Parameters[0].DataType:=ftString;
Parameters.ParamValues["p1"] := form2.Edit1.Text;
open;
end;
end;

Хотя следующий вариант работает отлично

with DataModule2.q_chuser do
begin
if Active then Close;
SQL.Clear;
SQL.Add("Select * from users where id_num= :p1");
Parameters[0].DataType:=ftInteger;
Parameters.ParamValues["p1"] := strtoint(form2.Edit1.Text);
open;
end;
end;

При подстановке вместо параметров четких значений в тело самого запроса все срабатывает.
Не подскажите ли в чем может быть моя ошибка?
Заранее благодарен.

D6, Oracle


 
Johnmen ©   (2003-11-25 18:40) [1]

Во-первых, я бы так написал
Parameters.ParamByName("pl").DataType:=...;
Parameters.ParamByName("pl").Value:=...;

А во-вторых, поле nick численное, а не символьное...


 
Vlad ©   (2003-11-25 18:43) [2]

>А во-вторых, поле nick численное, а не символьное...
Это почему ? :)

а так ?
with DataModule2.q_chuser do
begin
if Active then Close;
SQL.Clear;
SQL.Add("Select * from users where UPPER(RTRIM(LTRIM(nick)))= :p1");
Parameters[0].DataType:=ftString;
Parameters.ParamValues["p1"] := UpperCase(trim(form2.Edit1.Text));
open;
end;
end


 
Serg   (2003-11-25 18:44) [3]

так может она и не должна ничего возвращать?


 
Johnmen ©   (2003-11-25 18:45) [4]

>Vlad © (25.11.03 18:43) [2]
>Это почему ? :)

Вот это навело на мысль такую
strtoint(form2.Edit1.Text);


 
Vlad ©   (2003-11-25 18:47) [5]

А вот это ни на что не навело ? :)
>where id_num= :p1"


 
Johnmen ©   (2003-11-25 18:52) [6]

>Vlad © (25.11.03 18:47)

Да-да-да... Действительно, там nick, а там id_num :)))))
Не обратил внимания...:)


 
Noir ©   (2003-11-25 18:56) [7]

Vlad, большое спасибо. именно так и сработало. а по поводу where id_num= :p1 - это я просто эксперементировал на предмет живости работы с параметрами и вводом в поля числа мне известного.
Еще раз большое спасибо. Работает.


 
Shirson ©   (2003-11-26 11:37) [8]

Для чего удалять гланды ректально? Параметры - вариантовые, так используйте это на всё катушку.

with DataModule2.q_chuser do
begin
if Active then Close;
SQL.Clear;
SQL.Add("Select * from users where nick= :p1");
// Parameters[0].DataType:=ftString;
Parameters.ParamValues["p1"] := form2.Edit1.Text;
open;
end;
end;


 
Noir ©   (2003-11-26 12:10) [9]


> Shirson © (26.11.03 11:37) [8]
> Для чего удалять гланды ректально? Параметры - вариантовые,
> так используйте это на всё катушку.


Может быть инструмент коротковат, но гланды приходится удалять именно так, а Ваш вариант по непонятной причине не срабатывает.


 
Shirson ©   (2003-11-26 14:02) [10]

Странно. Везде срабатывает, а у вас - нет :)
Я таким вариантом и даты ищу, и integer, и string и чёрта в ступе. И всегда находится, что интересно :)


 
Noir ©   (2003-11-26 16:16) [11]


> Shirson © (26.11.03 14:02) [10]

Не спорю. Ответ на вопрос может лежать на поверхности, но пока я его не вижу.


 
sokohigh   (2003-11-26 17:07) [12]

а поле nick - наверное char, а не varchar?


 
Noir ©   (2003-11-26 17:37) [13]


> sokohigh (26.11.03 17:07) [12]

VarChar2(15) (для полной ясности) :).

А вообще, сдается мне что тут не порядки с настройками подкючения. Без каких либо извращений нормально отрабатывает только выборка по типу Integer. C дробными числами выборку пока не пробовал производить - нет надобности (да и полей в базе дробных нет). А вот что касаемо типов String, Date то здесь только срабатывает при преобразовании к String, в верхний(возможно нижний) регистр с обрезанием всех пробелов.



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

Текущий архив: 2003.12.19;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.022 c
3-61967
Davinchi
2003-11-25 14:12
2003.12.19
Кодовая страница БД и ее изменение


3-61901
Olga_Oo
2003-11-27 13:40
2003.12.19
Qreport


7-62294
Никола
2003-10-09 16:02
2003.12.19
Logon в XP


1-62155
Дельфи
2003-12-05 16:33
2003.12.19
Как сделать подсветку кнопки на панели задач?


3-61959
Genri
2003-11-26 11:51
2003.12.19
Обработка exception