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
[35297] Re:Re:Re:ADO에서 Insert into 를 쓸려고 하는데요..
김상면 [windyboy] 2027 읽음    2004-06-01 10:09
날짜 필드와 시간필드로 분리해보세요
  날짜 필드 타임 : #yy-mm-dd#
  시간 필드 타입 : #hh-mm-ss#
필드 타입을 받드시 위와 같이 하시고요
그럼

천승환 님이 쓰신 글 :
: 안녕하세요.
: 답변 감사합니다.
:
: ADODataSet의 CommmandText에 SQL문을 입력하여 Delete와 데이터 추출을 하고 싶은데요...
:
: 말씀하신데로, Access에서 SQL문을 작성하여 테스트하여 보니깐 되더군요.
: 그것을 빌더로 가져와서 하려니깐 계속 에러가 나서 다시 질문을 드립니다.
:
: Access에서 쿼리 마법사 라는걸로 쿼리를 만드는데,
: 조건에  ' > 2004-05-30 20:00:00 ' 이런식으로 썼습니다.
: (데이터중에 2004년 5월 30일 오후 8시 이후 데이터를 뽑고자 하였습니다.)
:
: 그랬더니 제대로 추출이 되었고,  SQL문을 보니깐
: SELECT Data1.DT
: FROM Data1
: WHERE (((Data1.DT)>#5/31/2004 3:0:0#))
: ORDER BY Data1.DT;
:
: 이렇게 나왔습니다.
:
: 이것을 빌더의 ADODataSet->CommandText에 입력하여보면 에러가 나옵니다.
:
: 그래서,
: SELECT * FROM [Data1] WHERE [No] > 100    요렇게 넣어보니깐,
: 이것은 제대로 추출하더군요.
: (No 는 단순히 일련번호 입니다...정수..)
:
: 하지만, Date형의 필드는 어떻게 표현해야 할지 모르겠습니다.
:
: 제가 마지막으로 하고 싶은것은,..
: 데이터중에서 몇월몇일몇시몇분몇초에서  몇월몇일몇시몇분몇초까지의 데이터만 뽑으면 됩니다.
:
: 첨엔 BED에 있는 TTable의 Range라는 것으로 했는데...
: 이건 잘 되긴 해었는데...
: 느린거 같아서 ADO로 바꿔볼려고 다시 만들어보는데.. 맘데로 안되네요..
: 12시간내내..이러고 있는 모습이..한심하기만 하네요..ㅡ_ㅡ;;;
:
: 답변 부탁드립니다...
:
:
:
:
:
:
: 김상면 님이 쓰신 글 :
: : 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로 하는것과는 속도차이가 많이 나나요?
: : : 

+ -

관련 글 리스트
35274 ADO에서 Insert into 를 쓸려고 하는데요.. 천승환 1653 2004/05/31
35300     Re:ADO에서 Insert into 를 쓸려고 하는데요.. 18억 1733 2004/06/01
35279     Re:ADO에서 Insert into 를 쓸려고 하는데요.. 김상면 1684 2004/05/31
35282         Re:Re:ADO에서 Insert into 를 쓸려고 하는데요.. 천승환 1988 2004/05/31
35297             Re:Re:Re:ADO에서 Insert into 를 쓸려고 하는데요.. 김상면 2027 2004/06/01
35278     Re:ADO에서 Insert into 를 쓸려고 하는데요.. ayh 1460 2004/05/31
35275     Re:ADO에서 Insert into 를 쓸려고 하는데요.. bigdream 1290 2004/05/31
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.