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

FireBird Q&A
[516] Re:Re:Re:[질문] refresh 하면 아래와 같은 error 발행합니다.
김민식.코피 [ssancopi] 2245 읽음    2002-11-25 10:46
Query 컴포넌트는 Refresh 메소드는 있는데 구조상 사용할 수 없습니다..
Select 하는 Query 컴포넌트 Refresh 는 Close; Open; 형식으로 닫았다, 다시 열었다
를 해주 어야 합니다...


박한수 님이 쓰신 글 :
: 안녕하십니까 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 발행합니다. 김민식.코피 2245 2002/11/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.