Q&A

  • timer로 특정 테이블을 select 하는데 갱신된 내용을 불러오질 못합니다.
Zeos 6.6.2와 Firebird를 씁니다.

select * from cust_info where custcd = :custcd

<!--CodeS-->
procedure TFMain.Timer1Timer(Sender: TObject);
begin
  qryExcute.Close;
  qryExcute.Params[0].Value := StrToInt(Id);
  qryExcute.Open;
<!--CodeE-->

timer를 통해 3초마다 저 select 문이 실행됩니다.

잘 불러 오는데 문제는 select 중 다른Client가 데이타를 변경했을때 변경된 데이타를 불러오질 못합니다..

커넥션을 끊고 다시 커넥션을 하고 select하면 갱신된 데이타를 잘 불러옵니다..

뭐가 문제인지 모르겠습니다.. 읽어 주셔서 감사합니다..






6  COMMENTS
  • Profile
    이정욱 2008.07.03 08:48
    Zeos 를 안써봐서 정확히는 모르겠지만, 혹시 그 컴포넌트 안에 Cache 관련된 프로퍼티가 있는지 확인해보시고, 그것을 비활성화 해주셔야 할것 같습니다.
  • Profile
    허학송 2008.07.03 17:57
    Zeos 6.6.2라면 Query(ZQuery)의 속성중 CacheUpdate속성을 False로 지정하시고 해보시기 바랍니다.
  • Profile
    초보델피 2008.07.04 03:45
    이상하네요.. CachedUpdate 속성은 False로 되어 있는데도 그렇네요..
  • Profile
    허학송 2008.07.07 21:42
    cachedupdate가 False로 되어있다면 다른 Client에서 자료를 Update(Insert,Update)할때 Commit를
    하지 않았을 경우라고 보입니다. 한번 확인해보십시요.
  • Profile
    초보델피 2008.07.08 05:45
    제가 설명을 않드린 부분이 있는데 로컬 DB가 아니라 원격지DB에 접속을 합니다..

    타이머로 3초간격으로 Select하구요.. Select 하고 있는 동안에 다른클라이언트가 데이타를 갱신(Commit)할때 갱신된 데이타를 Select 하질 못합니다..

    커넥션 끊고 다시 커넥션을 맺으면 갱신된 데이타를 잘 불러옵니다..

    커넥션 쪽에 Update를 해 주는 메소드가 있나요?? 몇일째 고민하고 있는데 해결이 않되네요..
  • Profile
    초보델피 2008.07.08 06:12
    아~~ 해결 했습니다..

    ZConnection.IsolationLevel 을 tiREADCOMMITTED으로 변경하니까 됩니다..

    트랜젝션 처리를 하지도 않았는데 이상하네요..

    ZConnection.IsolationLevel에 옵션들은 뭐하는건가요???
    • 루단스
    • 2008.07.04 19:55
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 루단스
      2008.07.04 22:21
      The ExpressPageControl - shipped with the ExpressQuantumGrid Suite ..... 라고 되어있네요. ㅜ.ㅜ Ex...
    • 김상진
    • 2008.07.04 17:32
    • 1 COMMENTS
    • /
    • 0 LIKES
    • phono
      2008.07.04 18:24
      cxDateEdit.Date 프로퍼티를 사용하세요.
    • 석주현
      2008.07.03 18:18
      기본적인 라이브러리에 해당하는 파일을 못찾는걸 보면 다시 설치하세요. 델파이의 Path 부분 설정이...
    • 석주현
      2008.07.03 19:17
      쪽지 보내신 답을 여기에 적어 봅니다. 기본적으로 델파이에서 제공되는 컴포넌트 라이브러리들은 패...
    • 가르쳐주삼
      2008.07.04 01:56
      감사합니다~
    • 다른남자
    • 2008.07.03 10:01
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 장성호
      2008.07.03 11:26
      그냥 참조하세요 WndParent 를 조정해 보심은 어떨런지요? Delphi2005 는 어떻게 돌아가는지 잘모...
    • 석주현
      2008.07.03 11:44
      음 지금 제가 직접해봤는데 질문하신 내용에서 정상과 동일하게 되는데 뭐가 안된다는 건지 모르겠습...
    • 다른남자
      2008.07.05 09:11
      감사합니다. 해결
    • 장성호
      2008.07.05 11:00
      Application.MainFormOnTaskBar:=false; 는 프로그램이 시작될때 한번만 해주면됩니다. Application-...
    • 최은아
    • 2008.07.03 07:35
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2008.07.03 08:53
      아주 간단한 클라이언트서버 라면 DBIsam 이라는 제품이 있습니다. 지금은 ElevateDB 라는 제품으로 바...
    • 최은아
      2008.07.03 09:21
      정욱님.. 답글 감사요. ~~ 마음은 급한데 답글이 없어서 좌절모드 하고 있었는데... 정욱님.. 제가 ...
    • 이정욱
      2008.07.03 14:34
      흠.. 파라독스를 다른 DB로 이전한다는 것이었습니다. 정확히 어떤 상황인지 잘 인지가 안되네요... ...
    • 최은아
      2008.07.03 17:51
      위에 썼는데.. 전 asp 개발자로 제가 맡은 프로젝트는 쇼핑몰입니다. 회원들은 투자금으로 쇼핑몰에...
    • 구창민
      2008.07.03 22:09
      대충 말씀을 읽어보니 asp 에서 파라독스와 붙여서 읽고 쓰고 해야 하는 상황이군요..? 제가 asp 를 ...
    • 이정욱
      2008.07.04 10:24
      음? 그렇다는 뜻은.. 파라독스 DB는 투자자의 컴퓨터에 깔려있는것이고, ASP로 구현한 웹에서 물건을 구...
    • 이정욱
      2008.07.03 08:48
      Zeos 를 안써봐서 정확히는 모르겠지만, 혹시 그 컴포넌트 안에 Cache 관련된 프로퍼티가 있는지 확인해...
    • 허학송
      2008.07.03 17:57
      Zeos 6.6.2라면 Query(ZQuery)의 속성중 CacheUpdate속성을 False로 지정하시고 해보시기 바랍니다.
    • 초보델피
      2008.07.04 03:45
      이상하네요.. CachedUpdate 속성은 False로 되어 있는데도 그렇네요..
    • 허학송
      2008.07.07 21:42
      cachedupdate가 False로 되어있다면 다른 Client에서 자료를 Update(Insert,Update)할때 Commit를 하지...
    • 초보델피
      2008.07.08 05:45
      제가 설명을 않드린 부분이 있는데 로컬 DB가 아니라 원격지DB에 접속을 합니다.. 타이머로 3초간격으...
    • 초보델피
      2008.07.08 06:12
      아~~ 해결 했습니다.. ZConnection.IsolationLevel 을 tiREADCOMMITTED으로 변경하니까 됩니다.. ...
    • steps
    • 2008.07.03 06:42
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2008.07.03 08:47
      파일의 이름이 깨진다는것이 다이얼로그 상에서 깨지는것인가요? 흠.. OpenDialog 는 윈도우에 있는 ...
    • steps
      2008.07.03 19:58
      다이얼로그상에서는 파일이름이 제대로 나옵니다. 그런데 다이얼로그의 filename을 읽으면 영문자든 중문...
    • 신철우
      2008.07.03 03:32
      [자답] ADOQuery에서는 min,max 함수 사용시 엄청 오래 걸림. 그래서 select top 1 regdate from class_...
    • 이정욱
      2008.07.03 08:44
      MSQuery도 비스타에서 문제 없습니다..
    • phono
      2008.07.04 18:28
      또 하나.. RecordCount 보다는 SELECT count(*) CNT FROM TABLE1 을 사용하여.. 레코드 카운트를 읽...
    • 이정욱
      2008.07.03 08:43
      DevExpress 사의 것은 설치 하시면 바로 컴포넌트로 등록이 되서 사용이 가능해 집니다. 즉, 사용하시...
    • 석주현
      2008.07.02 19:05
      동영상 강좌가 있긴 합니다만 책한권은 구입하셔서 보시는 게 좋을 겁니다. http://codeway.co.kr/...
    • Johnny
    • 2008.07.02 09:50
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 노경훈
    • 2008.07.02 01:04
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 홍성락
      2008.07.02 03:03
      조금 수정하시면 될거 같아요. 아래는 소스를 바꾸지 않는 상태에서 조금 수정하였습니다. 일단 숫자로 ...
    • 임정미
      2008.07.02 05:58
      감사합니다. 덕분에 잘 해결되었어요. TryEncodeDate에 하나 빼먹으셨네요. ㅎㅎ TryEncodeDate(2007...
    • 김상진
    • 2008.07.02 00:39
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2008.07.02 01:25
      DLL 로드시 DLL핸들을 다르게 주셔서 호출 하시면 될것 같은데요 ^^
    • 한윤식
    • 2008.07.01 19:56
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2008.07.01 00:04
      procedure CreateMDIChild(const Name: string); 이것을 Form1의 Private 부분에 넣으세요.
    • 석주현
      2008.07.01 01:48
      이정욱님 말씀처럼 하시면 되고요. 단축키로 Shift + Ctrl + C 를 누르시면 자동으로 생성이 됩니다. ^^
    • 구창민
      2008.06.30 21:49
      안녕하세요... DrawCell 이벤트에 아래처럼 기술하시고 테스트 해보세요.. var TW: integer; be...