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

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

delphi 10 + ADOQuery.Parameters = параметр не найден


Vladimir3466 ©   (2010-09-18 01:03:00) 

всем привет
народ подскажите в чом может быть проблема в 9 дельфе
привиденный ниже код работает , а в 10 делфе во время выполнения выдает ошибку : не найден параметр  :a1.
в качестве сервера access

ADOConnection.LoginPrompt := False;
ADOConnection.ConnectionString := connectstr;

try
   ADOQuery.SQL.Clear;
   ADOQuery.Parameters.Clear;
   ADOQuery.Close;

    ADOQuery.SQL.text:='UPDATE [MAIN] SET [PROVERKA]= ''PR'',   [CP]= ''PR'' WHERE [NOMER]= :a1';
      ADOQuery.Parameters.ParseSQL(ADOQuery.SQL.text, true);
     ADOQuery.Parameters.ParamValues['a1']:=s;  //s: string
    ADOQuery.ExecSQL;

finally
 ADOQuery.Parameters.Clear;
 ADOQuery.SQL.Clear;
 ADOQuery.Close;
 ADOConnection.Close;
end;


Vladimir3466   (2010-09-18 21:00:00) [1]

изначально использовалось именно
//   ADOQuery.Parameters.ParamByName('a1').DataType := ftstring;
//  ADOQuery.Parameters.ParamByName('a1').Value:=s;

но ошибка таже не найден параметр a1

щас попробую вариант от ega23


Ega23   (2010-09-18 11:00:00) [2]


> народ подскажите в чом может быть проблема в 9 дельфе


Проблема в программисте.

with ADOCommand do
begin
 CommandText := 'UPDATE [MAIN] SET [PROVERKA]= ''PR'',   [CP]= ''PR'' WHERE [NOMER]= :a1';
 Parameters.ParamByName('a1').AsInteger := 10;
 try
   Execute;
 except on E: Exception do
   begin

   end;
 end;
end;


sniknik   (2010-09-18 09:24:00) [3]

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

убери все лишнее. и используй ParamByName, он привычнее как то.


Наверх

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