У меня есть следующие:Как использовать WHERE ID в SQL Параметры
somequery.SQL.Add('UPDATE `someDBname`.`someTABLEname` SET
`client`='''+someForm.Edit1.Text+''',
`phone`='''+someForm.Edit2.Text+''',
`email`='''+someForm.Edit3.Text+''',
`details`='''+someForm.Edit4.Text+''',
`specials`='''+someForm.Edit5.Text+''',
`price`='''+someForm.Edit6.Text+''',
`address`='''+someForm.Edit7.Text+''',
`deadline`='''+someForm.DateTimePicker1.DateTime+''',
`status`='''+someForm.Edit9.Text+'''
WHERE `id`=''' + inttostr(someDataSetid.Value) + ''';');
И я хотел бы перейти к использованию parameters
, как это:
someQuery.SQL.Clear;
someQuery.SQL.Add('UPDATE `someDBname`.`someTABLEname` (client, phone, email, details, specials, price, address, deadline, status) values (:client, :phone, :email, :details, :specials, :price, :address, :deadline, :status) ') ;
someQuery.Params.ParamByName('client').AsString := someForm.Edit1.Text ;
someQuery.Params.ParamByName('telefon').AsString := someForm.Edit2.Text ;
someQuery.Params.ParamByName('email').AsString := someForm.Edit3.Text ;
someQuery.Params.ParamByName('detalii').AsString := someForm.Edit4.Text ;
someQuery.Params.ParamByName('mentiuni').AsString := someForm.Edit5.Text ;
someQuery.Params.ParamByName('pret').AsString := someForm.Edit6.Text ;
someQuery.Params.ParamByName('livrare').AsString := someForm.Edit7.Text ;
someQuery.Params.ParamByName('deadline').AsDateTime := someForm.DateTimePicker1.DateTime ;
someQuery.Params.ParamByName('status').AsString := someForm.Edit9.Text ;
someQuery.ExecSQL(true);
Я не имею понятия, как для преобразования предложения WHERE
, содержащего ID
(пример 1-го примера) в parameters
(пример второго кода) Пока не удалось выяснить это, и я не могу найти пример в Google о том, как использовать WHERE
в parameters
. Я довольно новичок в использовании параметров.
Что следует написать после Params.ParamsByName('id')
- чтобы получить идентификатор?
Сервер MYSQL
. Дайте мне знать в комментариях Если я что-нибудь оставил, и я отредактирую
Заранее спасибо!
Почему вы думаете, что можете изменить с помощью действительного SQL на недопустимый SQL, чтобы добавить параметры? Ваш второй пример недействителен вообще с параметрами или без них. –
@KenWhite Возможно, потому, что я не поймал то, что вы, по-видимому, сделали, и так как я еще не добавил, где еще я еще ничего не тестировал. Что недействительно? – Petzy
Весь синтаксис UPDATE в вашем втором примере неверен. Посмотрите на инструкцию SQL в своем первом, а затем сравните ее (без параметров) во втором. (На самом деле просто скопируйте его из кода, вставьте в блокнот и удалите 'SQL.Add ('' и закрытие '');' и прочитайте его. Это совершенно другое и полностью недействительное. При переключении на параметризованный операторов, он не меняет весь синтаксис SQL. Вам все равно придется писать синтаксически корректные SQL-инструкции, вы не можете просто создать новый язык на этом пути. –