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

FireBird Q&A
[3285] DB 자료를 쿼리문을 통해 불러올때 문제가 생깁니다.
박태성 [] 2222 읽음    2009-10-30 11:32
파이어버드 2.1과 델파이 7을 제우스 컴포넌트로 연결해서 만든 간단한 데이타베이스프로그램을
만들고 있는중입니다.

아래 함수는 그리드에 Room별로 대기자명단을 받아오기 위한 함수입니다.
어떤 대기자가 발생했을경우 콤보박스에서 방을 선택하면 그방에 대한 대기자만
불러오는 함수인데  문제는 이프로그램을 로켈네트웍으로 연결된 다른컴에서
대기자를 등록했을경우 갱신된 데이타가 불러와 지지 않는다는 겁니다.

프로그램 자체내에서 등록한 대기자는 제대로 목록이 갱신된후 불러와지는데 말이죠

즉 a컴, b컴 2대가 있을때 firebird 서버는 a컴에 있습니다.
a컴에서 '만수'라는 대기자를 등록했고 b컴에서 '철수'라는 대기자를 등록했다고 했을때
firebird서버로 가서 대기자를 보면 둘다 등록되어 있는데
a컴에서는 b컴에서 등록한 '철수'라는 대기자는 안 불러와지고 자기가 추가한 '만수'라는
대기자만 추가된 채로 대기자목록이 불러와 집니다.

데이타 갱신에 문제가 있는것 같은데 그래서 아래 함수에 주석처리한 부분을
삽입한 후 실행하면 제대로 갱신된 데이타가 불러와 지는건요

제가 아는 상식에서 봤을때 커넥션만 연결된 상태에서 쿼리문을 실행하면 모든 자료가
갱신된 상태로 와야되는게 정상아닌가요? 제가 아직도 커넥션의 개념을 모르고 있는건지. ㅠ.ㅠ

함수를 실행할때마다 커넥션을 다시접속하게 하는건 잘은 모르지만 퍼포먼스에 향상에
도움이 되지 않을것 같은데 다른 해결책은 없을까요?

function TdmClient.GetWaitList(var WaitList : TObjectList; RoomName : String): Boolean;
var
  fPerson : TWaitPerson;
  Loop : integer;
  tmpQry : TZQuery;
begin
  result := False;
  tmpQry := TZQuery.Create(nil);
  try
    //dmDatabase.cnnChart.Reconnect;
    tmpQry.Connection := dmDatabase.cnnChart;
    tmpQry.SQL.Clear;
    if RoomName = '전체' then begin
      tmpQry.SQL.Add('select * from Receipt order by r_time');
      tmpQry.Open;
    end
    else begin
      tmpQry.SQL.Add('select * from Receipt where r_room=:Room order by r_time');
      tmpQry.ParamByName('room').AsString := RoomName;
      tmpQry.Open;
    end;

+ -

관련 글 리스트
3285 DB 자료를 쿼리문을 통해 불러올때 문제가 생깁니다. 박태성 2222 2009/10/30
3289     Re:DB 자료를 쿼리문을 통해 불러올때 문제가 생깁니다. 초보자 2373 2009/11/02
3291         답변 감사드립니다.. 박태성 2361 2009/11/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.