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
[9438] Access DB의 sql문을 빌더에서 사용할 때의 문제점?
이돈진 [djlee6] 1068 읽음    2001-07-28 19:21
이전의 비주얼베이직 3.0으로 윈도우 3.1에서 작성된 프로그램에 사용된
cut.mdb를 빌더 4.0으로 바꾸고 있습니다..

cut.mdb에는 DIA, piece, pipe의 table이 있습니다. 그리고

몇개의 Query가 있습니다..

테이블은 빌더에서 그냥 오픈하니까,,되던데,,,Query가 문제더군요...

Query중 몇개는 해결했는데,,두개가 안되더군요..

아래의 문장은 각 Query에 있는 SQL문입니다..

이걸 빌더에서 Query컴포넌트를 사용하여 바꿨습니다..

1)SELECT DISTINCTROW iif(right(pipe.dia,1)="A", pipe.dia, DIA.code AS dia, pipe.sch, pipe.mat,
pipe.lgth count (*) AS qty FROM pipe.recno >= :param_recno and pipe.active is null
GROUP BY iif( right(pipe.dia,1)="A",pipe.dia,DIA.code),pipe.sch, pipe.mat, pipe.lgth;

이 문장을 Query컴포넌트의 SQL property에 넣고 param_recno에 적당한 값을 주고 나서

Query의 active를 true로 했더니 다음과 같은 에러가 뜨더군요..

General SQL Error
[Microsoft] ODBC Microsoft Access Driver too few parameters. Expected 2..

2)SELECT DISTINCTROW iif(pipe.dia,1)="A",pipe.dia, DIA.code) AS dia,pipe.sch, pipe.mat, pipe.lgth,
count (*) AS qty FROM pipe LEFT JOIN DIA ON val(pipe.dia)=DIA.diameter
GROUP BY iif(right(pipe.dia,1)="A",pipe.dia,DIA.code),pipe.sch, pipe.mat, pipe.lgth;

이 SQL문은 위의 에러메시지와 똑같은데 마지막의 숫자 2만 1로 바뀌었더군요...


1)에서는 param_recno가 있어서 Query컴퍼넌트의 param의 값을 적어놓았거든요..

그런데도 파라미터를 요구하는데...어디가 잘못된건가요?

참고로 두 문장다 Microsoft Access에서는 이상없이 잘 됩니다..

많은 도움 부탁드립니다...

+ -

관련 글 리스트
9438 Access DB의 sql문을 빌더에서 사용할 때의 문제점? 이돈진 1068 2001/07/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.