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

C++빌더 Q&A
C++Builder Programming Q&A
[28461] [답변] SQL->Clear()가 필요하진 않은지요?
정성훈.해미 [sage5nor] 1109 읽음    2004-01-10 13:34
SQL을 지우지 않고 추가만 하면 이전 SQL 아래에 덛 붙여진 상태가 됩니다.

그 다음 Open을 하면 문제가 발생할 수 있습니다.

[예]-----------------------------------------
Query1의 SQL문이
"SELECT SampleData FROM TestTable" 일때

//--------------------------------------------
AnsiString Query_Str = "WHERE SampleData < 100";

Query1->SQL->Add(Query_Str);
Query1->Open();

//위의 경우 한번은 잘됩니다.
//그러나 2번째 경우부터 에러가나지요.

[이유]---------------------------------------
1번 실행시 Query1의 SQL문은
"SELECT SampleData FROM TestTable"
"WHERE SampleData < 100"

2번 실행시 Query1의 SQL문은
"SELECT SampleData FROM TestTable"
"WHERE SampleData < 100"
"WHERE SampleData < 100"

이렇게 비교문이 2번 들어가게 되어 오류가 발생합니다.

[방법]----------------------------------------
이런경우 SQL을 모두 지우고 다시 쓰는 방법을 사용해 보십시오.

//꼭 들어갈 SQL문을 미리 정의해 놓는다.
AnsiString Main_Query = "SELECT SampleData FROM TestTable";

//구현부
AnsiString Query_Str = "WHERE SampleData < 100";
if(Query1->Active) Query1->Close();
Query1->Clear();
Query1->SQL->Add(Main_Query);
Query1->SQL->Add(Query_Str);
Query1->Open();
---------------------------------------------------------

도움이 되었는지요.
그럼 이만.....주말 잘 보내세요.

----------------------------------------------------------
작은 생각이 세상을 바꾼다. - 정성훈.해미 -
----------------------------------------------------------

초보 님이 쓰신 글 :
: TADOQuery 를 사용하여 Local Access DB에 연결후 Data를 가져오는 도중 다음과 같은 오류가 발생합니다.
:
: 간단한 SQL 의 경우 실행이 잘 되는데, 2개 이상의 테이블을 Left Outer Join한후 Select절에서
:
: 2개 테이블의 일부 필드를 동시에 가져오는 쿼리를 실행시
:
: "지정되지 않은 오류입니다"라는 메시지가 발생합니다.
:
: 해당 쿼리는 단순히 ADO Query의 SQL->Add()를 사용하여 추가한 후 Open()으로 열었습니다.
:
: 물론 해당 쿼리는 Access내에서도 테스트해 보았고 이상없이 돌아갔습니다.
:
: MDAC에 문제가 있지 않나 싶어 2.8버전으로 업그레이드하였으나 마찬가지 현상이 발생합니다.
:
: 이런 현상이 왜 발생하는지 고수님들의 한 수 가르침 부탁드립니다.

+ -

관련 글 리스트
28458 [질문] ADO로 Access DB에 연결도중 문제가 발생합니다. 초보 1565 2004/01/09
28462     자답...-_- 초보 1062 2004/01/10
28461     [답변] SQL->Clear()가 필요하진 않은지요? 정성훈.해미 1109 2004/01/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.