Форум: "Базы";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Внизdelphi 10 + ADOQuery.Parameters = параметр не найден Найти похожие ветки
← →
Vladimir3466 (2010-09-18 01:03) [0]всем привет
народ подскажите в чом может быть проблема в 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;
← →
sniknik © (2010-09-18 09:24) [1]вряд ли в 9-ке, скорее в том что делаешь не думая. наворотил кучу бессмысленных действий, не понимая зачем и как они работают, а после обвиняешь кого то кто в них запутался...
убери все лишнее. и используй ParamByName, он привычнее как то.
← →
Ega23 © (2010-09-18 11: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;
← →
Vladimir3466 (2010-09-18 21:00) [3]изначально использовалось именно
// ADOQuery.Parameters.ParamByName("a1").DataType := ftstring;
// ADOQuery.Parameters.ParamByName("a1").Value:=s;
но ошибка таже не найден параметр a1
щас попробую вариант от ega23
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.065 c