Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[9902] [질문] dbexpress 에서 sqlquery 의 sql 문의 한계는?
이길남 [hankilit] 1100 읽음    2004-11-08 19:25
dbexpress 에서 sqlquery 의 sql 문의 한계는?

현재 시스템 환경은
mssql2000 server
delphi 7.0  입니다.

bde 의 query component 로 되어 있는 프로그램을   dbexpress 로 수정중에

조금 복잡한 쿼리문를 돌리면
ado,bde 에서는 잘되는 query문이 dbexpress 의 sqlquery, SQLDataSet1 에서는
error 가 발생
sql state 42000
error code = 0
이런 에러가 발생함니다.

같은 환경에 간단한 query를 보내면 정상적으로 동작함니다.
dbexpress 에서는 안되는 query 문이 있는지 아님 다른 무언가를 설정해야하는지
고수분의 도움을 기다립니다.

아래의 문장은 bde,ado 에선 정상적으로 작동됨니다.
혹시라고 제가 편집해서 올리는중에 잘못 올라갈수는 있으나
bde, ado 에선 정상이다는 걸 감안해서 봐주세요..

     sql.add('  SELECT   a.room  as room            ,');
     sql.add(' a.name         as name            ,');
     sql.add(' a.jumin        as jumin           ,');
     sql.add(' a.jongbeul     as jongbeul        ,');
     sql.add(' a.jewon_day    as jewon_day       ,');
     sql.add(' a.chart        as chart           ,');
     sql.add(' b.sa_name      as sa_name         ,');
     sql.add(' a.doc_code     as doc_code        ,');
     sql.add(' a.gub_gu       as gub_gu          ,');
     sql.add(' a.kam_rate     as kam_rate        ,');
     sql.add(' a.taewon_day   as taewon_day      ,');
     sql.add(' a.jin_gu       as jin_gu          ,');
     sql.add(' a.gongsang     as gongsang        ,');
     sql.add(' a.jewon_id     as jewon_id        ,');
     sql.add(' a.kwamok       as kwamok       , ');
     sql.add(' c.kwamok       as p_kwamok       , ');
     sql.add(' K.kw_ENG       as kw_ENG  ,     ');
     sql.add(' max_hang1, max_hang2, max_hang3, max_hang4, max_hang5, max_hang6,  ');
     sql.add(' max_hang7, max_hang8, max_hang9, max_hang10, max_hang11, max_hang12,  ');
     sql.add(' C.JIN_DAY, isnull(C.KWAMOK,'''') as c_kwamok,  C.MAX_ORDER_ILSU, c.day_repeat , ');
     sql.add(' (SELECT COUNT(CHART) FROM CHART_S CS      ');
     sql.add('   WHERE  a.JEWON_ID = CS.JEWON_ID         ');
     sql.add('    AND   a.CHART = CS.CHART           ');
     sql.add('    AND   CS.kw_code =''D''                   ');
     sql.add('    AND   (CS.EDIT_CHK = ''N''   OR  CS.EDIT_CHK =''C'' )) AS APPEND_EDIT_CNT,  ');
     sql.add(' (SELECT COUNT(CHART) FROM CHART_P AC       ');
     sql.add('   WHERE  a.JEWON_ID = AC.JEWON_ID          ');
     sql.add('    AND   a.CHART = AC.CHART            ');
     sql.add('    AND   ac.kw_code =''D''                    ');
     sql.add('    AND   (AC.RECEIVER IS NULL  OR  AC.RECEIVER ='''' )) AS NOT_RECEIVER_CNT,  ');
     sql.add(' (SELECT COUNT(CHART) FROM CHART_P BC    ');
     sql.add('   WHERE  a.JEWON_ID = BC.JEWON_ID       ');
     sql.add('    AND   a.CHART = BC.CHART             ');
     sql.add('    AND   bc.kw_code =''D''               ');
     sql.add('    AND   (BC.RECEIVER IS NOT NULL  OR  BC.RECEIVER <> '''' )) AS RECEIVER_CNT,    ');
     sql.add(' (SELECT COUNT(CHART) FROM CHART_P DC    ');
     sql.add('   WHERE  a.JEWON_ID = DC.JEWON_ID       ');
     sql.add('    AND   a.CHART = DC.CHART             ');
     sql.add('    AND   DC.kw_code = :KW_CODE          ');
     sql.add('    AND   DC.JIN_DAY = '''+CURR_JINDAY+'''             ');
     sql.add('    AND   DC.KWAMOK  = C.KWAMOK ) AS ORDER_CNT ,        ');
     sql.add(' (SELECT  ISNULL(max(jin_day),0) FROM CHART_P AD                ');
     sql.add('   WHERE  a.JEWON_ID = AD.JEWON_ID                   ');
     sql.add('    AND   a.CHART = AD.CHART                     ');
     sql.add('    AND   aD.kw_code =:KW_CODE                         ');
     sql.add('    AND   AD.JIN_DAY = C.JIN_DAY     ');
     sql.add('    AND   AD.OPDAY_CHK = ''1''    ) AS MAX_OPDAY    ');
     sql.add(' FROM jewon a                       ');
     sql.add('    LEFT OUTER JOIN  SAWON B        ');
     sql.add('    ON  B.SA_KEY = A.DOC_CODE       ');
     sql.add('    LEFT OUTER JOIN  CHART_P C     ');
     sql.add('    ON  C.JEWON_ID = A.JEWON_ID    ');
     sql.add('    AND C.JIN_DAY =   (SELECT MAX(JIN_DAY) FROM CHART_P CC                ');
     sql.add('                        WHERE  a.JEWON_ID = CC.JEWON_ID                   ');
     sql.add('                        AND   a.CHART  = CC.CHART                          ');
     sql.add('                        AND   CC.JIN_DAY <= ''' + s_jin_day + '''         ');
     sql.add('                        AND   Cc.kw_code = :KW_CODE   )                   ');
     sql.add('    AND C.DUP =     (SELECT MAX(DUP) FROM CHART_P CC                ');
     sql.add('                        WHERE  a.JEWON_ID = CC.JEWON_ID                   ');
     sql.add('                        AND   a.CHART = CC.CHART                          ');
     sql.add('                        AND   C.JIN_DAY = CC.JIN_DAY                      ');
     sql.add('                        AND   Cc.kw_code = :KW_CODE   )                   ');
     sql.add('    AND   c.kw_code = :KW_CODE                      ');
     sql.add('    LEFT OUTER JOIN  KWAMOK K                                                   ');
     sql.add('    ON  K.KW_KEY = a.KWAMOK                                                    ');
     sql.add(' WHERE a.sunap = ''1''   and  taewon_gu <> ''3''                                                          ');
     sql.add(' AND a.jewon_day <= '''+s_jin_day+'''                                             ');
     sql.add(' AND a.room IN (SELECT room FROM byungsil WHERE byungdong = '''+s_byungdong+''')  ');

     sql.add(' ORDER BY a.room ,  A.CHART                                                         ');

+ -

관련 글 리스트
9902 [질문] dbexpress 에서 sqlquery 의 sql 문의 한계는? 이길남 1100 2004/11/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.