2012-04-10 4 views
2

난 다음 쿼리를 가지고데이터 형식이 일치하지 adoquery.active 변경

SELECT * 
FROM Project 
WHERE Status = "In Progress" 

내가 그것을 성공적으로 DBlookuplistbox에 '진행 중'상태로 모든 프로젝트의 제목을 나열하는 프로그램을 실행할 때, I 코드와 버튼이 있습니다

adoqCurrentProjects.Active := false; 
adoqCurrentProjects.Active := true; 

adoqCurrentProjects이 adoquery의 이름이고, 난 오류 메시지 '조건 식에서 데이터 형식이 일치하지 않는'표시 버튼을 클릭 그러나 때. 나는 "Progress"상태의 Project 테이블에있는 레코드의 양을 변경하고 버튼을 클릭하면 DBlookuplistbox에 새 결과가 나열 될 것이라고 생각 했었습니다. 프로그램을 다시 시작하면 제안 사항이 나타납니다.

+0

수 업데이트합니다. 귀하의 메시지를 모두 문자열을 나타냅니다 이후, 어쩌면 쿼리 어딘가에 런타임에 수정되고 .. 어떤 이벤트가 adoqCurrentProjects 구성 요소에 묶여 있습니까? 어쩌면 따옴표가 어딘가에 제거되고있는 것처럼 보입니다. 그냥 추측하면 .. –

답변

1

대안 과정은 ADOQuery이 오류 메시지가 상태 및 검색 값이 서로 다른 유형의 있음을 나타냅니다

with adoqCurrentProjects do begin 
close; 
sql.Clear; 
sql.Add('SELECT * FROM Project WHERE Status = '+condition); 
open; 
end; 

// Update DBlookuplistbox