어떤 테이블에... 기존에 있던 데이타를 지우구...
새로운 데이타를 입력 시키고자 하는 건데요...
TRDATE는 오늘 날짜구, 오늘날짜로 입력된 데이타를 지운후에, 새로운 걸 넣으려구...
자꾸 SQL문법 에러가 나서요...
부끄럽지만 소스를 올립니다... 뭐가 잘 못 된 건가여?!_!
with QryTranSum do
begin
SqlText := 'DELETE FROM '+ EMonth;
SqlText := SqlText + ' Where TRDATE = '+ nowdate ;
Close;
SQL.Clear;
SQL.Add(SqlText);
ExecSQL;
...
nowdate는 NowDate := FormatDateTime('yyyymmdd',now); 이구요...
오라클 DB를 쓰고 있답니다...
참~#
** 창밖에 눈이 온다고 하네요...
눈이 오는 건 안보이구... 쌓인 눈만 보이는데...^^
흑~ 저 좋은 눈을 앞에 두고도 컴 앞에만 앉아 있는 내 신세라니...!_!**
FormatDateTime함수를 사용하는것을 보니 nowdate가 문자형인가 보군요.
문자를 sql조건문에 추가할려면 ''로 둘러 싸야합니다.
with QryTranSum do
begin
SqlText := 'DELETE FROM '+ EMonth;
SqlText := SqlText + ' Where TRDATE = '''+ nowdate+''' ;
Close;
SQL.Clear;
SQL.Add(SqlText);
ExecSQL;
end;
이렇게 하면 되는데 보기도 어렵고 에러의 소지도 많기 때문에 파라미터를 사용하시는게 좋아요...조금 코딩은 더하지만
with QryTranSum do begin
Close;
SQL.Clear;
SQL.Add('DELETE FROM TableName');
SQL.Add('where TRDATE = :Param1');
ParamByName('Param1').AsString := FormatDateTime('yyyymmdd',now);
ExecSQL;
end;
이