FireBird Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
파이어버드 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
IBPhoenix
FireBird Main site
볼랜드포럼 광고 모집

FireBird Q&A
[514] Re:Re:[질문] refresh 하면 아래와 같은 error 발행합니다.
박한수 [] 1889 읽음    2002-11-22 14:34
안녕하십니까 Falco님
알려주신 대로 하니까 아래와 같은 error가 납니다..

[Project AAA.exe raised exeception class EIClientError with
message 'Cannot refresh row.
(No refresh query)'. Process stopped.
Use Step or Run to continue ]

코딩한 부분을 소개해 드리면요 아래와 같습니다.
timer가 돌면서 IBQueryA는 interbase DB 에 insert 시킵니다.
물론 timer가 insert 한 값들을 transaction compoent를 이용하여
확실하게 commit 했습니다.

그리고 조회 화면에서는 조회 버튼을 누르면 IBQueryB와 DB Grid를
이용하여 timer가 insert 시킨 값들을 보여 주어야 합니다. (이론적으로.)
하지만 보여지지 않습니다.
그리고 보여지는 경우는 프로그램을 재 실행시키면
insert 된 값들이 보여집니다.


procedure TARBSmsOnOffMain.SeSkinButton2Click(Sender: TObject);
begin
  with IBQueryB do
  begin

    Try
      Close;
      Sql.Clear;
      SQL.Text := SQL TEXT 
      Params[0].AsDate := 파라미터;   
      Params[1].AsDate := 파라미터;

      if not Prepared then Prepare;
      open;
      Refresh;   //추가 하였더니 error 가 발생합니다.
      fetchall;
      Label1.Caption := IntToStr(RecordCount);
    Except
      exit;
    end;
  end;
end;


박한수 올림

Falco 님이 쓰신 글 :
: 안녕하세요. 저도 Interbase 초보 입니다.
:
: 제 생각에는 쿼리B를 Refresh; 해 주면 되지 않을까 하는 생각이 드는데요. 한번 해 보시죠.
:
: 그리고, 실시간으로 데이터 반영을 원하시면 TIBEvent 쪽도 한번 알아 보시면 좋을것 같습니다.
:
: 저도 한번 써 봤는데, 꽤 쓸만하네요.
:
: 잘 안되시면 다시 질문을 올려주세요. 다른 고수님들께서 답을 해 주실겁니다.
:
: 박한수 님이 쓰신 글 :
: : 안녕하십니까..
: : 인터베이스를 사용하다가 어르신들의 강압(?)으로  오라클로 바꾸었다가
: : 속도 때문에 다시 인터베에스로 전환하였습니다.
: :
: : 한 번에 320만건씩 insert 하는 작업이 있는데요,
: : 필드는 1개 (신용불량자 번호) 이지만 320만건이라서 속도가 어마어마 하더군요.
: : 제가 테스트한 바로는
: :
: : CPU: 1.6G, MEM:256M 에서  (db는 local로 사용.)
: : interbase를 썻을 때 18분 정도 걸리지만 (ibexpress사용)
: : 오라클로 하면 5배는 더 걸리는 것 같습니다. 
: :
: : 그런데 인터베이스가 문제가 있는 것 같은데요..
: :
: : 쿼리컴포넌트A (연결된 트랜젹션 컴포는트 이름은  TansactionA)를 이용하여 insert한 것을
: : 쿼리컴포넌트B (db grid와 함께 사용하려고,요건 transaction component 는 없음.)는
: : 전혀 인식을 못합니다.
: :
: : transactionA.committ를 해도 안되구요..
: : 단 프로그램을 다시 껏다 insert된 것이 쿼리컴포넌트 B에서 인식이되어
: : DB그리드에 표시가 되네요.
: : 물론 이번에도 새로 인서트 되는 것들은 보이지도 않구요.
: :
: : interbase를 제가 모르는 건지
: : 아니면 제가 interbase에 너무 기대를 많이 한건지..
: :
: : 고수님들의 조언 부탁드립니다.
: :
: : 박한수 올림
: :

+ -

관련 글 리스트
512 [질문] interbase transaction 등에 관한 질문입니다. 고수님들 꼭 도와 주십시요... 흑흑흑.. 박한수 1763 2002/11/21
517     Re:[질문] interbase transaction 등에 관한 질문입니다. 고수님들 꼭 도와 주십시요... 흑흑흑.. 초보 2081 2002/11/25
513     Re:[질문] interbase transaction 등에 관한 질문입니다. 고수님들 꼭 도와 주십시요... 흑흑흑.. Falco 2072 2002/11/22
514         Re:Re:[질문] refresh 하면 아래와 같은 error 발행합니다. 박한수 1889 2002/11/22
516             Re:Re:Re:[질문] refresh 하면 아래와 같은 error 발행합니다. 김민식.코피 2246 2002/11/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.