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

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

Использование параметров в ADOQuery [D7, MSSQL]


Goida ©   (2004-05-07 10:54:00) 

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

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


Goida   (2004-05-07 11:44:00) [1]

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


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

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


sniknik   (2004-05-07 11:34:00) [3]

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


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


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

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


sniknik   (2004-05-07 11:32:00) [5]

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


Goida   (2004-05-07 11:27:00) [6]

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


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

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


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

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


Goida   (2004-05-07 11:14:00) [9]


> Johnmen

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


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

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


Наверх

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