Вниз
Скачать: CL | DM;

Использование параметров в ADOQuery   Найти похожие ветки 

 
Goida ©   (2004-05-07 10:54) [0]

У меня не получилось работать с параметрами :( Я написал запрос (например):
select Фамилия, Имя
from Клиент
where Фамилия = @Фамилия

В ADOQuery я создал в десижн-тайм такой же параметр и задал ему тип string. Когда же я попытался присвоить параметру значение, появилась ошибка, что параметра нет. Почему? Может это из-за того, что я присваиваю строку с запросом во время выполнения?


 
Johnmen ©   (2004-05-07 10:58) [1]

select [Фамилия], [Имя]
from [Клиент]
where [Фамилия] = :Familia


 
Goida ©   (2004-05-07 11:14) [2]


> Johnmen

Ты хочешь сказать, что нужно англицкий использовать?


 
Курдль ©   (2004-05-07 11:23) [3]

Он хочет сказать, что нужно двоеточие использовать :)
ЗЫ: Можно русское :)


 
Мунька   (2004-05-07 11:25) [4]

>Ты хочешь сказать, что нужно англицкий использовать?
В общем использование английского языка в качестве имен полей необязательно, но лучше все-таки его использовать, а не русский, проблем меньше, не нужно всяких там [], да и с кодировками меньше шансов залета
А уж в именах параметров - точно лучше использовать английский


 
Goida ©   (2004-05-07 11:27) [5]

Я и с двоеточием писал. Результат такой же получал. Может мне динамически создавать параметры?


 
Курдль ©   (2004-05-07 11:32) [6]


> Я и с двоеточием писал. Результат такой же получал.

Этого не может быть. В дизайн-тайме  умные компоненты (не знаю про ADOQuery - не пользовал) сканируют текст SQL-запроса и ищут параметры как раз по признаку "начинается с двоеточия". Если параметр найден - он попадает в параметр лист и никуда оттуда не девается. А вот если были загадочные @ - Вы не сможете ничему установить тип, т.к. лист будет пуст.


 
sniknik ©   (2004-05-07 11:32) [7]

значит либо у тебя paramcheck фалсе либо не в то время присваиваеш.


 
sniknik ©   (2004-05-07 11:34) [8]

еше вариант поиск по несуществующему имени парамбайнаме(":Familia") - ошибка!


 
Курдль ©   (2004-05-07 11:36) [9]

Прошу прощения ADOQuery оказался тупее, чем я даже думал :(
Тогда один путь - не ошибаться в названии параметра.
Если в запросе написано :FAMILIA то и имя параметра надо писать FAMILIA. Именно так - в запросе с двоеточием, в имени - параметра - без!


 
Goida ©   (2004-05-07 11:44) [10]

Все ясно. Кажется в этих двух тчк и была ошибка.



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.021 c
7-1083153850
CyBeR
2004-04-28 16:04
2004.05.30
Переключение между формами с помощью набора закладок


6-1081950490
Yurec66
2004-04-14 17:48
2004.05.30
У кого в сети еще запущена моя программа


1-1085001494
killer
2004-05-20 01:18
2004.05.30
StringGrid.Canvas


7-1082526550
DC
2004-04-21 09:49
2004.05.30
Набор символов Unicod


3-1084187095
tlan
2004-05-10 15:04
2004.05.30
OS AIX + Oracle Application Server




   Наверх