매개 변수 WHERE 사용 방법 :SQL에서 ID가 나는 다음과 같은 한
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);
내가 단서 방법이 없습니다 ID
(첫 번째 코드 예)을 포함하는 WHERE
절을 parameters
(두 번째 코드 예)로 변환하십시오. 아직 알아낼 수 없으며 0123에서 WHERE
을 사용하는 방법에 대한 Google의 예를 찾을 수없는 것 같습니다.. 저는 매개 변수 사용법이 상당히 새롭습니다.
내가 Params.ParamsByName('id')
후 작성해야 - ID를 얻으려면?
서버 MYSQL
입니다. 내가 무엇을두면 내가 코멘트에서 알려주나요 내가 미리
감사를 편집합니다!
에 의해 매개 변수를 하나씩 결합 왜 당신이 매개 변수를 추가하기 위해 SQL을 유효하지 않은 유효한 SQL을 사용 변경할 수 있습니다 생각? 두 번째 예제는 매개 변수의 유무에 관계없이 전혀 유효하지 않습니다. –
@KenWhite 아마도 당신이 분명히 한 일을 포착하지 않았기 때문에, 그리고 아직 어디에서 테스트를하지 않았는지 아직 추가하지 못했기 때문일 것입니다. 그것으로는 무엇이 유효하지 않습니까? – Petzy
두 번째 예에서는 UPDATE의 전체 구문이 잘못되었습니다. 먼저 SQL 문을보고 두 번째 매개 변수없이 비교하십시오. (실제로, 코드에서 그것을 복사하여 메모장에 붙여 넣고'SQL.Add (''와 닫는' ');을 제거하고 읽습니다. 완전히 다르며 완전히 무효입니다. 매개 변수화 된 문, 그것은 SQL의 전체 구문을 변경하지 않습니다 당신은 여전히 구문 적으로 유효한 SQL 문을 작성해야합니다,.. 그냥 길을 따라 새로운 언어를 만들어에 도착하지 않는 –