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

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

ADOQuery [D5, Access]


Страницы:   1 2 3

Лариса ©   (2003-05-30 11:37:00) 

Добрый день, всем. Подскажите почему я не могу передать параметры в Query. Это мой первый опыт работы с данным компонентом и почем утакая проблема понять не могу. Я с помощью компонента ADOQuery пытаюсь удалить данные по условию из таблицы в Аccess. В самом Query написано:
delete from tab1
where god=:god and mes=:mes
а в программе пишу:
q1.close;
q1.parameters[0].value:=2000;
q1.parameters[1].value:="01";
q1.execsql;
После запуска программы выдается ошибка, что слишком мало параметров нужно 2. Что делать?


WarLord   (2003-05-30 14:16:00) [41]


> delete from tab1
> where god=:god and mes=:mes
> а в программе пишу:
> q1.close;
> q1.parameters[0].value:=2000;
> q1.parameters[1].value:="01";
> q1.execsql;

должно работать
SQL нигде не переопределяется?


Лариса   (2003-05-30 14:12:00) [42]

попробовала с ParamByName-прошло, но ошибку так и выдало. У меня проблема не в том, что я не могу написать как параметры передать.а в том, что он их не принимает и все время мне выдает ошибку, что то слишком мало параметров, то слишком много.


sniknik   (2003-05-30 14:05:00) [43]

TParameters.ParamByName
TParameters See also
Locates the parameter with a given name.
function ParamByName(const Value: WideString): TParameter;

поспорим? а за Params я уже извинился он тоже есть но у TQuery, незачем его здесь вспоминать.


Лариса   (2003-05-30 13:56:00) [44]

Извините, по по работе вызывали.
Нет такого, чтобы можно было задать либо Parambyname или Params. Только Parameters[0].


sniknik   (2003-05-30 12:06:00) [45]

Лариса (30.05.03 12:00)
>Я уже пробовала обращаться именно по имени. С ADO так не проходит. У него нет, чтобы можно было либо по имени, либо по номеру, только по номеру и все.

есть
q1.Parameters.ParamByName().Value
нет AsInteger/string ....


sniknik   (2003-05-30 12:02:00) [46]

а на какой команде ругается? так вроде все нормально выглядит, ну может еще тип явно указать, не помешает
q1.parameters[0].DataType:= ftInteger;
q1.parameters[0].value:=2000;
q1.parameters[1].DataType:= ftString;
q1.parameters[1].value:="01";

попробуй.


Лариса   (2003-05-30 12:00:00) [47]

Я уже пробовала обращаться именно по имени. С ADO так не проходит. У него нет, чтобы можно было либо по имени, либо по номеру, только по номеру и все.


Max Zyuzin   (2003-05-30 11:56:00) [48]

>Лариса (30.05.03 11:51)
А если как в обчном Query обратится по имени?
q1.ParamByName("god").AsInteger:=2000;
q1.ParamByName("mes").AsString:="01";
Ну в зависимоти от типов полей As...


sniknik   (2003-05-30 11:54:00) [49]

sorry глюк в ответе. сбило
> В самом Queryнаписано:


Лариса   (2003-05-30 11:51:00) [50]

Не-а, так не проходит. Выдает ошибку: Undeklared identifier "params"


sniknik   (2003-05-30 11:46:00) [51]

q1.Params[0].Value:= 2000;


Страницы:   1 2 3

Наверх

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