Q&A

  • 두개 폼에서 DB 내용 조작하는 것에 대해
안녕하세요.

밑에 질문을 올렸는데, 질문의 내용이 부족한거 같아서 소스를 첨부하여 다시 질문해봅니다.

폼을 두개 동시에 띄워서

하나의 폼에는 DB에 내용을 insert 하고

하나의 폼에는 Select 문으로 읽어오게 하였습니다.

그런데 insert 시킨후 , 아무리 refresh 를 하거나 다시 쿼리문을 실행하여도

새로운 내용으로 갱신되지 않습니다.

프로그램을 종료했다가, 다시 실행시키면 새로운 내용으로 되어 있구요~

조언부탁드리겠습니다

===insert 는====
   Insert_sql:='INSERT INTO M_TABLE(DATEDA,SELLTIME,MENUNAME,ETC,QUANTIFY,COST) values(';
   Insert_sql:=Insert_sql+'''' + Dateda + '''' + ',' + '''' + SellTime + '''' + ',' + '''' + copy(ListBox4.Items.Strings[i],7,26) + '''' +','+''''+ Copy(ListBox4.Items.Strings[i],2,4) + '''' + ',' + '''' + ListBox5.Items.Strings[i] + '''' + ',' +'''' +  ListBox3.Items.Strings[i] + '''' + ')';
   Zquery1.SQL.Clear;
   Zquery1.Sql.Add(Insert_sql);
   try
      Zquery1.ExecSQL;
   except
      ShowMessage('데이터베이스에 접근할 수 없습니다(T_M)');
   end;




== 다른 폼에서 select 는 버튼을 클릭하면 갱신되게 하려고 하였는데==

procedure TfmToday.BitBtn1Click(Sender: TObject);
var
  Dateda , Select_qry: String;
begin
  Dateda:=FormatDateTime('YY-MM-DD', Now);
  Select_qry :='select MENUNAME,SUM(QUANTIFY),SUM(COST) from M_TABLE where DATEDA='+''''+Dateda+''''+'group by MENUNAME';
  ZqryToday3.SQL.Clear;
  ZqryToday3.SQL.Add(Select_qry);
  ZqryToday3.ExecSQL;
  ZqryToday3.open;
end;


IBconsol 등으로 확인하면 입력되어있는데, 다른폼에서 리플레쉬해도 갱신이 안됩니다 ㅠㅠ

괜찮으시다면 조언부탁드리겠습니다.

즐거운하루되십시오
2  COMMENTS
  • Profile
    박홍재 2006.08.15 11:40
    음 어찌 설명을 해 드려야 하나...

    어떤 Database를 사용하고 계신지는 모르겠으나 일단 어떤 DB라도 명령만 조금 틀린것 뿐이니 오라클을 예로
    설명을 드리겠습니다.

    프로그램 두개에서  한쪽은 인서트를 또 한쪽은 조회를 하는 프로그램이라고 하면
    한쪽에서 인서트를 해도 다른쪽에서 바로 조회가 되지 않습니다. 왜냐하면 인서트 한쪽에서
    작업에 대한 반영을(즉 Commit)을 해 주지 않았기 때문에 현재 다른쪽에서는 작업전 Data 밖에 보이지 않는 것이죠. 또한 조회하는 쪽에서 아무리 Reflash 를 한다고 해도 작업한 쪽에서 DB에 나 작업 끝났다 반영해라 하는 명령이 없는 한 조회쪽의 작업은 아무런 의미가 없게 되는 겁니다.

    따라서 작업완료후 바로 반영이 되게 하기 위해서는..
    작업을 해 준 쪽에서 Reflash 나 Commit 명령을 DB에 주어서 작업의 반영을 알려야 합니다. 그럼.
    (이건 DB쪽의 Commit 과 Rollback에 대한 부분을 공부하시면 압니다. 그럼)
  • Profile
    조현태 2006.08.16 11:39
    친절한 답변 감사드립니다(--)(__)

    DB는 FireBird 1.5.2 를 사용중입니다.

    말씀해주신 Commit 처리를 어떻게 해야 되는지도 여쭈어 봐도 될까요?



    • 유승혁
    • 2006.08.18 23:59
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 강인규
      2006.08.20 05:49
      질문이 명확치 않아 무엇을 원하시는지는 잘 모르겠지만 섹션안의 내용을 불러오려면 ReadSection 함수...
    • 이영주
      2006.08.19 02:03
      Row가 변하는 내용일것 같은데 굳이 ini 파일로 처리하려는 이유가 있나요? Text 파일처럼 불러오는 것이 ...
    • 이경원
    • 2006.08.18 20:54
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 정태욱
      2006.08.21 19:08
      안녕하세요. DLL Function을 소스에 추가하면 바로 에러가 나는것은 DLL내에서 해당 Function을 찾지 ...
    • 이정욱
      2006.08.19 00:32
      stdcall 대신 cdecl 로 고쳐서 해보세요.
    • 이경원
      2006.08.19 00:49
      동일합니다. 제가 폼에다가 버튼하나를 놓고 버튼 이벤트에 아래 함수를 써 놓기만 했는데 실행하면 ...
    • 이정욱
      2006.08.19 22:19
      무료는 아니구요  FastReport가 있습니다.
    • 착한천사
      2006.08.20 02:36
      착한천사입니다. 퀵리포트를 추가해야만 합니까? Install Shield에 Compile된 Binary파일(*.Exe)을 넣기 ...
    • coolkkm
    • 2006.08.17 23:06
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 착한천사
      2006.08.20 02:25
      착한천사입니다. overload는 함수명/프로시저명이 동일하지만 받는 argument가 다른 것을 이야기합니다....
    • 최성준
      2006.08.19 15:26
      책보면 다 나오는데... 쩝... 다른 파라미터를 가진 함수들이 여러 개의 같은 이름의 프로시저나 ...
    • KDDG_Apine
      2006.08.17 02:32
      재설치까지 하실 필요는 없는듯 한데요...  일반 코드를 수정하셨다면   해당 컴포넌...
    • 권태훈
      2006.08.18 18:24
      제가 궁금한것은 .pas가 dpk로 묶여서 등록된 상태에서 어느 pas는 수정만 하면 어플에 적용이 되고, ...
    • 김현철
    • 2006.08.17 01:33
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2006.08.17 03:32
      안녕하세요. 최용일입니다. "IdFTP에는 Account라는것을 제공하지 않는다"는게 무슨 말씀이신지요? A...
    • 김현철
      2006.08.17 03:54
      ㅡㅡ; 그러게여! 저도 그게 무슨 말인지 모르겠어여! 다만... 로곤시에 user, password, account를 입...
    • 최용일
      2006.08.17 04:19
      안녕하세요. 최용일입니다. 저도 FTP는 잘 모르는데요... FTP연결한뒤에 IdFTP.Account메소드를 이용...
    • 최준호
    • 2006.08.17 01:28
    • 1 COMMENTS
    • /
    • 0 LIKES
    • KDDG_Apine
      2006.08.17 02:28
      string 의 값이 utf 8 이면 이걸 다시 string 바꿔야 합니다..   utf8 은 일반 ansi string을 다...
    • 착한천사
      2006.08.25 03:33
      착한천사입니다. 한글은 자음과 모음으로 구사된것은 아실거라 판단됩니다. 따라서, 자음별,모음으로 조...
    • 최용일
      2006.08.16 22:40
      안녕하세요. 최용일입니다. 그냥 for문써서 카운팅하세요... <!--CodeS--> var   ...
    • 태권브이
      2006.08.16 23:22
      답변에 감사드립니다. ^^ 그런데..하나하나 세는 방법말고 특정문자만 갯수를 알아내는 함수는 없나요? ...
    • 최용일
      2006.08.17 00:11
      안녕하세요. 최용일입니다. 왜 카운트가 올라가는것이 부담스러운지 의문이네요... 델파이에서 함수...
    • 최용일
      2006.08.16 20:13
      안녕하세요. 최용일입니다. 한 행렬이 800M(Col*Row*SizeOf(double))나 되서 여러개의 행렬을 쓰시면 ou...
    • 권태훈
      2006.08.16 18:47
      가장 쉬운 방법은 프로젝트 설정에서 관련 메모리 값을 증가시켜 주는겁니다. alt-f11이던가..누르면 나...
    • 조현태
    • 2006.08.15 07:28
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 박홍재
      2006.08.15 11:40
      음 어찌 설명을 해 드려야 하나... 어떤 Database를 사용하고 계신지는 모르겠으나 일단 어떤 DB라도 명...
    • 조현태
      2006.08.16 11:39
      친절한 답변 감사드립니다(--)(__) DB는 FireBird 1.5.2 를 사용중입니다. 말씀해주신 Commit 처리를...
    • 정경철
    • 2006.08.15 02:48
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 하수경
    • 2006.08.15 01:55
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 황영일
    • 2006.08.14 23:19
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2006.08.16 19:49
      안녕하세요. 최용일입니다. Navigate한후에 완료되서 Response를 얻기까지 어느정도 시간이 걸리기 때문...
    • sora
    • 2006.08.14 20:19
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박상윤
      2006.09.12 05:05
      미디어 플레이어 가지고는 한계가있습니다. Windowless하면 화면을 먹는 현상도 발생합니다. 원사이즈 그...
    • 채태숙
    • 2006.08.14 09:42
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2006.08.19 00:36
      일단 Application := AOwner 부분을 빼시고, Parent라는 변수 명을 다른 변수명(ParentPanel 등)을 써보세...