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에 너무 기대를 많이 한건지..
: : :
: : : 고수님들의 조언 부탁드립니다.
: : :
: : : 박한수 올림
: : :
|