두 가지 옵션이 있습니다. 솔루션에서 덜 바람직하게 사용되는 문자열 리터럴 중 하나를 쿼리에 사용합니다. 이 경우, 예를 들어
ADOTable1.Filter := 'Date > ''' + Edit1.Text + '''';
이
ADOTable1.Filter := 'Date > ''27-Sep-69'''
더 나은 솔루션은 매개 변수화 쿼리를 사용하는 것입니다 같은 라인을 초래할 것 '탈출'당신이 전달하는 값으로이
select <whatever> from table
where date > :p1
는 다음과 같은 방식으로 매개 변수를 전달
ADOTable.parambyname ('p1').asdate:= strtodate (edit1.text);
,536,
필자는 ADO 구성 요소를 사용하지 않기 때문에 구문이 다소 꺼져 있지만 Firebird에 사용 된 구문이라고 생각합니다.
매개 변수는 올바른 따옴표를 추가하는 것에 대해 걱정할 필요가 없으며 아무도 잘못된 값을 전달할 수 있기 때문에 원시 텍스트 값을 사용하는 것보다 낫습니다. edit1.text에 '27 -Sep-65; Drop table1 '이 포함되어 있으면 어떻게 될지 상상해보십시오. - 데이터베이스에서 테이블을 삭제할 수 있습니다!
Google에서 * "Delphi MS Access date time"* 용어에 대한 [첫 번째 히트 곡] (http://delphi.about.com/od/delphitips2007/qt/datetime_sql.htm)을 보았습니까? – TLama
@TLama 데이터 세트 필터는 데이터베이스 – bummi