안녕하세요. 델초보자입니다.
sql문에서 검색시에 자꾸에러가 나서 질문을 드립니다.
db는 msaccess 를 사용합니다.
var
vv_yn : string;
vv_dept : string;
begin
if cb_gubun ='결재' then
begin
vv_dept :='i_manayn';
vv_yn := 'y';
end
else if cb_gubun ='미결재' then
begin
vv_dept :='i_manayn';
vv_yn := 'n';
end
else if cb_gubun ='입고' then
begin
vv_dept :='i_saleyn';
vv_yn := 'y';
end
else
begin
vv_dept :='i_saleyn';
vv_yn := 'n';
end;
원하는 sql문은
sql.Add('select * from input');
sql.Add('where i_manayn = 'y'');
또는
sql.Add('where i_manayn = 'n'');
sql.Add('where i_saleyn = 'y'');
sql.Add('where i_saleyn = 'n'');
입니다.
여기서 필드를 변수 필드값을 변수로 사용하려고 합니다.
제코딩은
sql.Add('select * from input');
sql.Add('where '+vv_dept+' = "'+vv_yn+'"');
자꾸 에러가 나는데 (매개변수 일이부족합니다.)
어느부분인지 알수가 없습니다. 도움바랍니다.
저같은 경우에도 따옴표 찍는 실수를 많이하는데요. 문장이 좀 길어지면... 눈 튀어나오거든요. 물론 정신건강에도 않좋구요.
그래서 전 폼에다 memo 컴포넌트를 갖다놓구요.
코딩내용이 아래와 같을때
sql.add('select * from ....');
sql.add('where 어쩌구 저쩌구...');
sql.add('where 어쩌구 저쩌구...');
sql.open
먼저 sql.open 부분을 주석처리하구요.
대신에 memo1.text:=Query1.text; 를 합니다.
그럼... Query가 실행이 안되니까 에러는 안뜰거구요.
메모장에는 입력된 SQL문장이 나타나거든요. 보면 따옴표를 잘찍었는지 확인가능할겁니다.