답변 감사합니다.
1.5에서도 Having구문은 정상적으로 지원됩니다.
Commit를 빼고 했을땐 View File을 생성했을거라고 생각하고 생성한 View파일을 사용하려고 하면 View파일이 없다고 나옵니다.
정말 이상하네요...
다른 툴에선 정상적으로 되거든요...
IB Expert에서도 정상적으로 되는것을 확인한후 포팅한거거든요...
SQL Explorer툴에서도 되는것을 확인했고요...
문제는 코딩으로 했을때 오류가 나온다는 것입니다.ㅠ.ㅜ
혹시 Delphi 5.0의 Query컴포넌트가 지원을 못하는걸까요?
아니면 BDE가 지원을 못하는걸까요?
5.0에서 BDE를 안쓰고, Firebird를 만질수 있는 컴포넌트 좋은거 없을까요?
푸른솔 님이 쓰신 글 :
: DDL은 Commit을 필요로 하지 않습니다.
: 일단 제거해 보시죠...
:
: 아래 Query 문법은 이상이 없네요...
: 혹시 1.5에서 Having구문을 지원하는지요?
: 2.0에서는 이상이 없는 것 같습니다. 테스트 해본 바로는
:
:
:
: 반영재 님이 쓰신 글 :
: : ExecSQL로 한후 Commit을 날리면 General SQL error가 나오거든요...ㅠ.ㅜ
: : 미치것네요...그렇다고 전부다 BDE로 되어 있는데...이걸 바꿀수도 없구...
: : 해결방법이 없을까요?
: :
: : civilian,안영제 님이 쓰신 글 :
: : : Open 이 아니라 ExecSQL로 하셔야 합니다.
: : : 그리고 BDE를 쓰는 것은 가장 최악의 방법입니다.
: : :
: : : 반영재 님이 쓰신 글 :
: : : : 현재 제 환경입니다.
: : : : Delphi 5.0
: : : : BDE사용
: : : : Firebird 1.5.2
: : : :
: : : : if not DataBase1.InTransaction then
: : : : DataBase1.StartTransaction;
: : : : try
: : : : with Query1 do
: : : : begin
: : : : Close;
: : : : UnPrepare;
: : : : Sql.Clear;
: : : : Sql.Add('Create View View_sms (View_smsid) as ' +
: : : : 'Select SmsID From Sms ' +
: : : : ' Where SmsCheck = :SmsCheck ' +
: : : : ' Group By SmsID ' +
: : : : 'Having Count(SmsID) < 10 ');
: : : : ParamByName('SmsCheck').AsString := '0';
: : : : Open;
: : : : DataBase1.Commit;
: : : : except
: : : : DataBase1.Rollback;
: : : : end;
: : : :
: : : : 이렇게 하면 안되는건가요?
: : : : 계속해서 Error creating cursor handle 오류만 나오네요...ㅠ.ㅜ
: : : : 볼랜드가 기본적으로 제공한 SQL Explorer툴에선 제대로 돌아 갑니다...
|