오라클 디비를 쓰는데염...
q_save에서 sql값을 직접..
select * from enpr_basic where enprnum='123-45-67890'
이렇게 넣고.. active를 true 해주면 123-45-67890 인것만 잘열리는데..
q_save.sql.add('select * from enpr_basic where enprnum=:chk');
q_save.ParamByName('chk').AsString :='123-45-67890';
이렇게 열면 eof도 나오지 않고..
그렇다고 자료가 나오는 것두 아니고...
참 이상합니다 왜 그런지 아시는분 계시면 리필 달아 주세요..
enprnum필든 char(15)형입니다.
Oracle8i 를 ODBC를 연결해서 사용하면 ParamByName 함수가 되는데, SQL Linker를 이용해서 연결해서 사용하면, 파라메타를 그냥 씹어버리더군요. SQL Monitor를 이용해서도 확인해봤습니다만, 파라메타를 Link해주지를 않더군요. 그래서 하는 수 없이, SELECT 문장 자체에 값을 넣어서 쿼리합니다.
요렇게...
sValue := '123-45-67890';
with qry do begin
Close;
SQL.Clear;
SQL.Add('select * from enpr_basic');
SQL.Add('where enprnum='''+sValue+''' ');
Open;
end;
짜증나지만, 할수없더군요. 어디가도 답이 없어서리...
SQL Monitor로 확인해보세요. 델파이가 값을 씹어버립니다.
도움이 되었길 바랍니다.