Q&A

  • 퀴리문이 제대로 안되는것 같아요.
<!--CodeS-->
      if active then close;
      sql.clear;
      sql.add('select * from '+order_board);
      sql.add(' where m_no = :a1');
      sql.Add('and (out_date+lend_su) between :a2 and :a3');
      parambyname('a1').asinteger := check_m_no;
      parambyname('a2').asdate := strtodate(check_date);
      parambyname('a3').asdate := strtodate(check_date)+check_su;
      open;
<!--CodeE-->
out_date 필드에는 2005-8-26, lend_su 필드는 1
check_date = 2005-8-27
check_su = 1

이렇게 되어 있는데 데이타가 검색이 되지를 않네요.
뭐가 잘못 된 것인지...
5  COMMENTS
  • Profile
    박홍재 2005.08.27 11:14
    안녕하세요. 문제는 두개의 필드를 합친 것에 대한 조회에 있는거 같군요.
    Select 문에서 두개의 Field를 합치는 것과 Where 절에서 두개의 필드를 합치는 것은
    엄연히 다른 결과가 나오거든요 그래서 아래의 쿼리를 다음과 같이 변경해 보세요.
      Select (out_date+lend_su) as sumfield FROM Table_name
      WHERE sumfield between :a2 and :a3

    위의 쿼리문은 MS ACCESS에서 사용되는 쿼리문 입니다.

    조회절에서 두개의 필드를 묶은 값을 조건으로 사용하기 위해서는 SELECT 절에서 하나의 필드로 정의해 준후
    조회절에서 사용을 해야 겠지요.
    이상 허접한 답변입니다.
  • Profile
    TeamB 2005.08.26 10:07
    흠...데이터는 검색되지 않습니다.

    디비가 MySQL이라고 하셨죠? out_date 가 date 형이나 datetime 형일경우 연산을 하게되면 포맷형식이 바뀝니다.

    out_date 에 2005-08-27 이 들어있는데 out_date+1 을 하게 된다면 20050827 로 되죠..

    물론 (out_date+lend_su) 도 date형이고 파라미터도 date형으로 받았으니 상관없을것이라고 생각드는데...실제론 그렇지가 안죠 ^^;; 왜냐?....

    mysql 함수인 date_format 을 사용하시거나 파라미터를 YYYYMMDD 형태로 줘보시길 바랍니다.

    mysql>select out_date from tbl_name;
    2005-08-27

    mysql>select out_date+1 from tbl_name;
    20050827

    mysql>select date_format(out_date+1,'%Y-%m-%d') from tbl_name;
    2005-08-27

    그럼...

    덧말; 자세한것은 메널을 참고하시길 바랍니다. Date,Time 타입과 Date , Time 함수들을...

    http://dev.mysql.com/doc/mysql/en/date-and-time-types.html
    http://dev.mysql.com/doc/mysql/en/date-and-time-functions.html



  • Profile
    김상균 2005.08.26 04:36
    out_date 는 날짜형이고 lend_su 는 숫자형입니다.
    검색하고자 하는것은 out_date(대여일자)+lend_su(대여일수)를 계산하여 :a2, :a3 에 포함 되는 레코드만을 추출 할려고 합니다.

    select out_date+lend_su as t_date from .... 을 하계 되면 t_date의 값이 out_date+lend_su를 계산한 값이 출력 됩니다. 그런데 where 절에 넣어 퀴리를 하니 계산이 되지 않는것 같아요.
    디비는 mysql 입니다.


  • Profile
    박홍재 2005.08.25 23:49

    out_date와 lend_su를 더하는 이유가 무엇인가요.  out_date는 Table의 Field 일거 같은데요.  두개의 Field를 합쳐진 결과가 날짜 형식이 되는지 먼저 확인을 하셔야 할거 같습니다. 가장 좋은 방법은 지금의 구문을 Database에서 한번 해 보시고 결과가 나오는 지를 확인하신후 Query를 다시 작성해 보시는 것이 좋을 거 같습니다. 그럼.(도움이 되셨나 모르겠네요.)
  • Profile
    조진희 2005.08.25 20:28


    저도 잘은 모르지만..
    아마도.. out_date는 형식이 데이터 일꺼 같고..
    lend_su는 숫자 일꺼 같은데...
    형식이 다른 두 필드를 더하니까 검색이 되지 않는거 같습니다.

    DB가 Oracle 이라면 to_char, to_number를 이용하면 됩니다.
    저도 아는게 많지 않아서...
    • 마이크로김
      2005.08.30 02:43
      form create 적어주면 화면이 clear 됩니다 AForm.Brush.Style := bsClear;
    • 최용일
      2005.08.26 08:25
      안녕하세요. 최용일입니다. HTML로 파일 저장하실때 그냥 텍스트문서를 확장자만 html로 만들어서 저장...
    • 프로글래머
      2005.08.26 01:43
      SpeedButton 의 Flat 를 True 로 하여 필요한 부분에 내려놓고 사용하면 될 것 같은데요 ? 마우스가 가면 ...
    • 나도초급
      2005.08.26 02:38
      답변 감사합니다.. 그런데, 사각 이미지 가 아니라 스피드 버튼으로 처리가 어려워요. 그리고 투명폼을...
    • 권형근
    • 2005.08.26 00:07
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 모영철
      2005.08.26 00:16
      일반 도스용 프로그램들 생각하면 됩니다. CreateProcess함수에 파라미터 집어넣는 부분이 따로 없으니 ...
    • 권형근
      2005.08.27 01:08
      답변 감사합니다. 다른 질문을 또 하고자 합니다. 테스트1, 테스트2 프로그램이 있고, 테스트2는...
    • TeamB
      2005.08.30 04:15
      메인폼의 OnActive 나 OnShow 에서 적절히 처리 해주시면 될듯 한데요.. 메인폼이 열릴때... Param...
    • 토픽
    • 2005.08.25 21:35
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 윤경미
    • 2005.08.25 21:15
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 모영철
      2005.08.26 00:08
      아실지 모르겠습니다만.. 그 에러코드를 더블 클릭하면 알아서 어디서 났는지 찾아줍니다. 아마 이전...
    • 데빠이
      2005.08.25 23:15
      위에 선언한건 procedure buttoncontrol(ntag:integer; bflag:boolean); 이구... 아래 소스상에는 procedu...
    • 최용일
      2005.08.26 08:16
      안녕하세요. 최용일입니다. 델파이의 Source폴더에 보시면 각각의 소스가 있으니 그걸 보시고 새로 함수...
    • 허 강
    • 2005.08.25 12:34
    • 2 COMMENTS
    • /
    • 0 LIKES
    • TeamB
      2005.08.25 18:22
      델 7의 ADO 콤포를 사용해보지 않아서 모르겟는데, 아마도 DisableControls, EnableControls 라는 메소드...
    • 허 강
      2005.08.26 08:35
      답변 감사합니다. 모든것이 해결되었습니다. > >델 7의 ADO 콤포를 사용해보지 않아서 모르겟는데, 아...
    • 김상균
    • 2005.08.25 07:29
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 박홍재
      2005.08.27 11:14
      안녕하세요. 문제는 두개의 필드를 합친 것에 대한 조회에 있는거 같군요. Select 문에서 두개의 Field를...
    • TeamB
      2005.08.26 10:07
      흠...데이터는 검색되지 않습니다. 디비가 MySQL이라고 하셨죠? out_date 가 date 형이나 datetime 형일...
    • 김상균
      2005.08.26 04:36
      out_date 는 날짜형이고 lend_su 는 숫자형입니다. 검색하고자 하는것은 out_date(대여일자)+lend_su(대여...
    • 박홍재
      2005.08.25 23:49
      out_date와 lend_su를 더하는 이유가 무엇인가요.  out_date는 Table의 Field 일거 같은데요.&...
    • 조진희
      2005.08.25 20:28
      저도 잘은 모르지만.. 아마도.. out_date는 형식이 데이터 일꺼 같고.. lend_su는 숫자 일꺼 같은데....
    • 모영철
      2005.08.25 17:58
      이렇게 하면 됩니다 SendMessage(Form2.handle, WM_MOUSEWHEEL, WheelDelta * 256 * 256, MousePos.X + ...
    • 기타맨
    • 2005.08.25 01:50
    • 1 COMMENTS
    • /
    • 0 LIKES
    • TeamB
      2005.08.25 19:13
      Level 과 GetPrev 를 사용하면 될듯합니다. <!-- CodeS --> var   nNode: TTreeNod...
    • 모영철
      2005.08.25 20:30
      메인폼을 없앨순 없습니다. 퀵리포트 폼을 메인으로 바꾸면 가능하겠지만요.. 이런방법이 있는진 모...
    • 장재림
      2005.08.26 08:36
      제가 바라는건 반대로 인데요 메인에서 반대로 프리뷰를 끌수 있는 지 없는지를 알고싶어서 그런건데 ...
    • nilriri™
      2005.08.30 05:48
      가능합니다.. 프리뷰창의 닫기버튼 클릭시 정말로 닫을까요?  라고 confirm메시지 처리를 하...
    • 김성진
      2005.08.25 02:40
      소켓팅이라는 것이 서버와 클라이언트간의 통신이것을 아실겁니다. 그럼 일반적으로 서버쪽은 오픈되어 있...
    • 델파이-델짱
      2005.08.26 18:09
      네 그렇군요.^^; 도움글 감사 드립니다. 관련 해서 한가지 더 질문 할께요^:^ 그러면 혹시 서버소켓...
    • 꼬미사랑
      2005.08.31 02:39
      안녕하세요^^* 가비지나 사용하지 않는 클라이언트 소켓을 찾는 방법보다는 일정 시간 규약된 시간내에 아...
    • 조현태
    • 2005.08.24 12:55
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 꼬미사랑
      2005.08.24 22:22
      클라이언트에서 사용하신 DB랑 원격 서버에 있는 DB의 종류에 따라서 틀리겠죠..방식에 대해서는.. 클라이...
    • 천희택
      2005.08.24 17:59
      안 돌아갑니다. Kernel 자체가 틀린데 안 돌아갑니다. 유닉스의 소스를 리눅스로 옮겨서 컴파일, 링...
    • 임형준
      2005.08.24 19:10
      제가 TStringList, TList, TStream같은 VCL 관련 오브젝트를 사용해서 보통의 표준 파스칼에서는 컴파...
    • ez.J
      2005.08.24 22:39
      유닉스용 델파이는 없습니다. 터보파스칼과 어느정도 호환되는 pascal을 사용해보시기 바랍니다. 수...
    • 임형준
      2005.08.24 08:26
      자문자답입니다만... 제가 만드려는 건 콘솔프로그램인데, 콘솔프로그램은 실행이 되더군요. ^^
    • 윤경미
    • 2005.08.24 02:33
    • 1 COMMENTS
    • /
    • 0 LIKES
    • Runo
      2005.08.24 03:02
      Table Properties 가시면 TableName 항목이 있습니다. 오른쪽에 있는 화살표를 누르면 Table 리스트가 나...
    • 조진희
    • 2005.08.23 23:04
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 프로글래머
      2005.08.24 00:01
      크리스탈리포트에서 Formulas 는 배열입니다. 그러므로 Crpe1.Formulas[0]:='''+Edit1.text+'''; 형식으로...
    • 조진희
      2005.08.24 01:17
      영~ 모르겠어서 다시 질문드립니다.. Crpe1.Formulas[0]:='''+Edit1.text+'''; 이렇게 고쳐서 해 봤는데...
    • 프로글래머
      2005.08.24 01:55
      가물가물 한데요 ...... 기억을 더듬어 가면서 한번 설명을 해 보도록 하지요. 나의 공부도 되니까. ...
    • 조진희
      2005.08.24 04:46
      답변 정말 감사드립니다.. 정말로 많은 도움이 되고있습니다. 그런데,,제가 아직도 잘 모르겠어서..(너무...
    • 프로글래머
      2005.08.24 18:23
      말씀하시는것을 보니 쓰고계시는 버전 9와 6이 엄청난 차이가 있는것 같군요. 죄송합니다만 버전 9를 구...
    • 모영철
      2005.08.23 03:08
      ㅁㅁ
    • 권태훈
      2005.08.23 03:09
    • 민스맘
    • 2005.08.22 23:54
    • 0 COMMENTS
    • /
    • 0 LIKES