|
SQL을 사용하면 사실적으로 select * from ???? where ??????
라고 하면 다 된다고 하는데 안되는 경우도 많습니다.
첫째의 경우는 날짜는 #으로 둘려 싸야하고
문자열 비교는 LIKE로 해야하고
필드명 테이블명 뷰명....등은 []로 둘러 싸야합니다.
NULL 비교도 = NULL이런씩으로는 안됩니다. Is Not NULL인지 모르지만 NULL 전용 구문이 있습니다.
그리고 VB에서는 데이타 콘트롤 변수가 메모리에서 사라져도 연결 설정은 존재하므로 이에 대한 처리를 해야 메모리 누수를 방지 할수 있습니다.
이런 부분들은 메뉴얼에 없는 것이라 참으로 골란합니다.
소스를 올리시면 제가 한번 테스트 해보지요 필히 *.MDB도 올리세요
두번째 질문은 변수로 데이타 베이스에 자료를 처리하는 것과 콘포넌트로 자료를 처리하는 방법 중에서 어느것이 빠른냐고 묻는 것이라면 둘 다 똑같습니다. 단지 변수롤 핸들링하면 난이도가 높은 처리가 쉽고 콘포넌트로 하면 자질구레한 구현이 없어도 공통의 인터페이스는 쉽게 만들수 있습니다.
대체로 개발 툴에 따라 다르겠지만 (C Builder환경에서 콘포넌트가 어디까지 지원하는지 모르지만) JDBC쪽은 콘포넌트를 위주로 개발하시다가 콘포넌트로 처리가 어려운 부분만 데이타 콘트롤 변수를 사용하는게 현명한 방법입니다.
그리고 엑세스 파일을 사용한다면 엑세스에서 SQL를 작성하시어 테스트 하신후에 C++ Builder로 옮기는게 에러 잡기가 쉽습니다. 다른 데이타 베이스도 마챤가지고요 오라클인경우는 오라클 SQL 해석기에서 테스트 하신후에 C++Builder로 옮기시는게 좋습니다.
[또한가지]
데이타 베이스만 다루신다면 엑세스의 폼디자이너, 뷰디자이너, 리포트 디자이너, 엑세스 프로그래밍 한번 써 보세요 훨씬 쉽고 이쁘고 편하지요
그리고 Date는 아마 엑세스 예약어 일겁니다. (그래서 안될수도 있음)
그럼
천승환 님이 쓰신 글 :
: 안녕하세요..
:
:
: ADOCommand에서 Insert into를 쓰려고 하는데 잘 안되서 질문 올립니다.
:
: Access에서 test.mdb라는 것을 만들어 놓고...
: data1 테이블엔 No,Date,Ch1...등등이 있습니다.
:
: Select * from data1 , 또는 Delete * from data1 하면 잘됩니다.
:
: 문제는...
:
: Date/Time형식으로 입력된 'Date'라는 필드입니다.
:
: Insert나 추출등을 하려고 하니깐 형식에 맞지 않는다는 에러만 뜹니다.
: 다른 필드(숫자나 텍스트등등..)로 된것은 잘 되는데..
: Date/Time형식으로 된것은 어떻게 해야할지 도저히 모르겠습니다.
:
: Access에서 mdb만들때,
: Date형식을 'yyyy-mm-dd hh:nn:ss'라고 했었거든요..
: 너무 안되길래... 형식을 없앴는데도 여전히 안됩니다..
:
: Insert into data1(Date) values ('2002-02-02 11:11:11') 이것도 에러나구요..
: Insert into data1(Date) values ('2002-02-02 오전 11:11:11') 이것도 에러나구요..
: Insert into data1(Date) values (#2002-02-02 11:11:11#) 이것도 안되구요..
:
: 아..도체 어떻게 해야할런지요..
: 지금 어제..일요일에도 출근해서 하루종일 이것저것 해봤는데..도저히 안되네요..
: 오늘 아침부터 지금까지도 못찾고있구요..
: 이곳 게시판을 몇번이나 뒤져봐도 도저히 모르겠습니다..
:
: 제발 부탁드리겠습니다...흑..
:
: 참,. 그리고...
: ADOTable로 데이터 입력하는것과 ADOCommand로 하는것과는 속도차이가 많이 나나요?
:
|