![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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, он привычнее как то.