안녕하세요.
델파이2009에 대하여 문의 드리려고 합니다.
델파이5에서 개발한 소스를 2009에 적용시키려고 하는데요.
Tdatabase 컴포넌트랑 Tquery 컴포넌트를 사용하였고
개발DB는 PostgreSql8.3인데요 ORACLE8i에서도 해봐도 똑같습니다.
예를 들어
Query1.Close;
Query1.SQL.Clear;
Query1.sql.Add(' INSERT INTO test ' +
' values(:p_id, :p_ddsec) ');
Query1.parambyname('p_id').Asstring := '1';
Query1.parambyname('p_ddsec').AsString := '저장';
try
Query1.ExecSQL;
except on E:EDataBaseError do
begin
messagedlg('저장 중 에러가 발생하였습니다' + E.message,mterror,[mbok],0);
Query1.close;
Query1.sql.clear;
Exit;
end;
end;
이렇게 구현하면 table에 ddsec에는 "저" 만 인서트 됩니다.
만약 이것을
Query1.Close;
Query1.SQL.Clear;
Query1.sql.Add(' INSERT INTO test ' +
' values(''2'', ''저장'') ');
try
Query1.ExecSQL;
except on E:EDataBaseError do
begin
messagedlg('저장 중 에러가 발생하였습니다' + E.message,mterror,[mbok],0);
Query1.close;
Query1.sql.clear;
Exit;
end;
end;
이렇게 쿼리문안에 직접 넣으면 "저장"이라고 인서트 됩니다.
문제는 첫번째 코딩과 같이 파라메터로 돼어야 하는데요. 어떻게 해야 안 짤리고 저장이 되는지 궁금합니다.