Delphi는 매개 변수화 된 SQL 문을 지원하지만 매개 변수/매개 변수 속성을 거의 사용하지 않으며 일반적으로 SQL을 직접 구성합니다.
sql.text : = 'select * from ..where id =' ''+edit1.text+'' ';
그러나이 방법에는 신중한 SQL 주입 공격이 필요합니다.
오늘, 나는 AdoQuery Control의 매개 변수 속성으로 전환했으며 이미 매우 간단했습니다. 하나의 AdoQuery 컨트롤 만 사용하고 문의 SQL 문 및 매개 변수는 종종 변경되므로 프로그램에서 다음 코드를 사용했습니다.
............
adoq.parameters.clear;
adoq.parameters.createparameter (...);
adoq.parameters.createparameter (...);
adoq.sql.clear;
adoq.sql.assign (memo1.text);
............
일단 실행되면 때때로 정상이며 때로는보고되며, 잘못된 매개 변수 설정 (액세스에 사용)이 잘못되었다고합니다.
이틀 동안 던지면 다음 코드를 사용해야한다는 것을 알았습니다 (정말 이상합니다).
............
adoq.parameters.clear;
parami : = adoq.parameters.addparameter; // 매개 변수 생성 1
parami.name : = ...;
parami : = adoq.parameters.addparameter; // 매개 변수 생성 2
parami.name : = ...;
//adoq.sql.clear; //이 문장을 사용할 수 없습니다.
adoq.sql.assign (memo1.text);
............