Q&A

  • 오라클 insert시 폼이 종료되야만 확인이 가능한데요...
안녕하세요...

더운날씨에 고생이 많으십니다...

지금 오라클에 insert를 하는데요...

특별한 error없이 insert는 되는데요...

(bde설정을 보면 자동으로 commit이 되는것 같은데...shared autocommit이렇게

설정이 되어 있더라구요)

그런데...꼭 폼이 종료되어야만...insert된 레코드가 보이네요...

즉 실행시키고...바로 select를 하면 제가 insert한 레코드가 보이질 않구요

프로그램을 종료시키고 해야만 insert가 되있는게 보이는데...

뭐가 잘못된 것인지...도움 부탁드립니다..

제 소스는요...



try

begin



query1.close;

query1.sql.clear;

query1.sql.add('insert into beasong values (:n1,:n2,:n3,:n4,:n5)');

query1.ParamByName('n1').asstring := trim(unsong_id);

query1.parambyname('n2').asstring := trim(end_time);

query1.parambyname('n3').asstring := trim(receive_man);

query1.parambyname('n4').asstring := trim(relationship_cd);

query1.parambyname('n5').asstring := trim(received_man);



query1.execsql;







end;

except





messagedlg('Insert 오류',mterror,[mbok],0);





end;



질문을 다 조회해봤는데...이렇게 저렇게 해도 해결이 안되서...

질문 올립니다...도와주세요...



4  COMMENTS
  • Profile
    방문현 2001.07.04 02:35


    >

    > try

    > begin

    >

    > query1.close;

    > query1.sql.clear;

    > query1.sql.add('insert into beasong values (:n1,:n2,:n3,:n4,:n5)');

    > query1.ParamByName('n1').asstring := trim(unsong_id);

    > query1.parambyname('n2').asstring := trim(end_time);

    > query1.parambyname('n3').asstring := trim(receive_man);

    > query1.parambyname('n4').asstring := trim(relationship_cd);

    > query1.parambyname('n5').asstring := trim(received_man);

    >

    > query1.execsql;

    >

    > query1.ApplyUpdates; //여기서 바루 업데이트 하시면 Post될겁니다.

    >

    > end;

    > except

    >

    >



  • Profile
    한현숙 2001.07.04 20:21
    님께서 말씀하신대로 했더니 이런 에러가 나네요

    query1 : dataset not in edit or insert mode

    델파이의 버퍼안에 insert 내용이 남겨져 있다가

    폼이 종료되면...오라클로 넘어가기 때문인것 같아요...

    그래서...

    아랫줄의

    query1.applyupdates; 줄을 삭제하고

    대신 tquery1 컴포넌트의 proprety 4번째의 cachedupdate 항목을 true로

    바꿔주면..바로 갱신이 됩니다...

    답변해주신 분들 감사합니다...









    방문현 wrote:

    >

    > >

    > > try

    > > begin

    > >

    > > query1.close;

    > > query1.sql.clear;

    > > query1.sql.add('insert into beasong values (:n1,:n2,:n3,:n4,:n5)');

    > > query1.ParamByName('n1').asstring := trim(unsong_id);

    > > query1.parambyname('n2').asstring := trim(end_time);

    > > query1.parambyname('n3').asstring := trim(receive_man);

    > > query1.parambyname('n4').asstring := trim(relationship_cd);

    > > query1.parambyname('n5').asstring := trim(received_man);

    > >

    > > query1.execsql;

    > >

    > > query1.ApplyUpdates; //여기서 바루 업데이트 하시면 Post될겁니다.

    > >

    > > end;

    > > except

    > >

    > >

    >

  • Profile
    행인4 2001.07.03 22:47
    autocommit 이란거 프로그램 종료시에 commit을 하는거 같던데요

    저도 이런 경험 했습니다.

    tdatabase 컴포넌트를 사용해서 프로그램을 코딩하시는게 좋을 듯 싶네요.



    한현숙 wrote:

    > 안녕하세요...

    > 더운날씨에 고생이 많으십니다...

    > 지금 오라클에 insert를 하는데요...

    > 특별한 error없이 insert는 되는데요...

    > (bde설정을 보면 자동으로 commit이 되는것 같은데...shared autocommit이렇게

    > 설정이 되어 있더라구요)

    > 그런데...꼭 폼이 종료되어야만...insert된 레코드가 보이네요...

    > 즉 실행시키고...바로 select를 하면 제가 insert한 레코드가 보이질 않구요

    > 프로그램을 종료시키고 해야만 insert가 되있는게 보이는데...

    > 뭐가 잘못된 것인지...도움 부탁드립니다..

    > 제 소스는요...

    >

    > try

    > begin

    >

    > query1.close;

    > query1.sql.clear;

    > query1.sql.add('insert into beasong values (:n1,:n2,:n3,:n4,:n5)');

    > query1.ParamByName('n1').asstring := trim(unsong_id);

    > query1.parambyname('n2').asstring := trim(end_time);

    > query1.parambyname('n3').asstring := trim(receive_man);

    > query1.parambyname('n4').asstring := trim(relationship_cd);

    > query1.parambyname('n5').asstring := trim(received_man);

    >

    > query1.execsql;

    >

    >

    >

    > end;

    > except

    >

    >

    > messagedlg('Insert 오류',mterror,[mbok],0);

    >

    >

    > end;

    >

    > 질문을 다 조회해봤는데...이렇게 저렇게 해도 해결이 안되서...

    > 질문 올립니다...도와주세요...

    >

  • Profile
    한현숙 2001.07.03 23:32
    행인4 wrote:

    > autocommit 이란거 프로그램 종료시에 commit을 하는거 같던데요

    > 저도 이런 경험 했습니다.

    > tdatabase 컴포넌트를 사용해서 프로그램을 코딩하시는게 좋을 듯 싶네요.





    데이타베이스 컴포넌트를 사용해서...트랜잭션을 걸었는데도...역시나

    폼이 종료가 되야만...데이타가 insert가 되네요...

    구체적인 답변 부탁드립니다...



    var tranyesno : boolean;



    begin

    tranyesno := true;

    database1.StartTransaction ;

    try

    begin



    query1.close;

    query1.sql.clear;

    query1.sql.add('insert into beasong_fail values (:n1,:n2,:n3,:n4)');

    query1.ParamByName('n1').asstring := trim(unsong_id);

    query1.parambyname('n2').asstring := trim(receive_man);

    query1.parambyname('n3').asstring := trim(no_beasong_cd);

    query1.parambyname('n4').asstring := trim(wait_confirm);



    query1.execsql;

    end;

    except

    tranyesno := false;

    //messagedlg('Insert 오류',mterror,[mbok],0);

    end;



    if tranyesno = true then

    database1.Commit

    else

    database1.Rollback ;





    • 초보요
    • 2001.07.03 18:11
    • 1 COMMENTS
    • /
    • 0 LIKES
    • Lee
      2001.07.03 19:56
      시간 maskEdit 콤포 => stime이라면 Try TimeToStr(stime.Text); Except ShowMessage('올바른 시...
    • Lee
      2001.07.03 19:41
      procedure는 리턴값을 가질 수가 없습니다. 참고로 리턴값을 받을려면 function을 사용하여야 합니다. 다...
    • 명탁
      2001.07.04 10:41
      그냥 퀴리 컴포넌트 sql 문장에다가 즉 add(' select 아웃파람1,... 프로시저내임(인파람1, 인파람2...
    • 최한상
    • 2001.07.03 11:49
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 하기
      2001.07.03 19:00
      저장용량이라기보다는 아마도 중복된 자료를 입력하신게 아닐까하는 생각이 드는군요.. 한번 확인해 보시...
    • 미래
    • 2001.07.03 11:01
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 정재필
      2001.07.03 11:26
      WriteBuffer, ReadBuffer 함수를 사용해 보세여...^^; 미래 wrote: > > 인디 서버에서 readln 은...
    • Ziker
      2001.07.05 00:32
      안녕하세요! 지커(김성규)입니다. 일반적으로 ISAPI를 작성 하신다음 IIS를 통해서 동작이 될때, 메모리...
    • 오늘도
      2001.07.09 20:25
      답글 감사 드립니다. 제 질문이 좀 엉뚱해서인지 이곳 저곳 게시판 중에서 유일하게 지커님만 대답을 ...
    • MAXIST
    • 2001.07.03 06:39
    • 1 COMMENTS
    • /
    • 0 LIKES
    • Ziker
      2001.07.04 22:37
      안녕하세요 지커 입니다. 제가 고민한 부분인데.. 님께서도 상당히 고민한 흔적이 옅보이는군요.. ^^ ...
    • 한현숙
    • 2001.07.03 07:18
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 방문현
      2001.07.04 02:35
      > > try > begin > > query1.close; > query1.sql.clear; > qu...
    • 한현숙
      2001.07.04 20:21
      님께서 말씀하신대로 했더니 이런 에러가 나네요 query1 : dataset not in edit or insert mode 델파이의...
    • 행인4
      2001.07.03 22:47
      autocommit 이란거 프로그램 종료시에 commit을 하는거 같던데요 저도 이런 경험 했습니다. tdatabase 컴...
    • 한현숙
      2001.07.03 23:32
      행인4 wrote: > autocommit 이란거 프로그램 종료시에 commit을 하는거 같던데요 > 저도 이런 경험 했습...
    • 김영진
    • 2001.07.03 04:39
    • 3 COMMENTS
    • /
    • 0 LIKES
    • aparadin
      2001.07.03 18:37
      김영진 wrote: > ^^; > 초보는 저뿐인가보네요. > 질문이 없네요. > 아이고, 민망해라... > 제가 또다...
    • 델피언
      2001.07.03 05:07
      > procedure TForm1.Winamp1Click(Sender: TObject); > begin > if FileExists('c:windows바탕 화면win...
    • 김영진
      2001.07.03 05:24
      웁쑤! 감사합니다. 질문 올리자마자 답변이 올라와서 어찌해야 할 지를 모르겠습니다. 정말 감사합니다....
    • Ziker
      2001.07.04 22:45
      안녕하세요 지커입니다. iis설정을 다시 한번 확인 해 보셔야 할것 같습니다. script 안에 두시 마시...
    • 김대훈
    • 2001.07.03 03:42
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 참이슬
      2001.07.03 04:15
      label컴포넌트를 사용하셔서 Click이벤트에서 작성합니다. ShellExecute(Handle, 'Open', 'MailTo:E-Mai...
    • xxx
    • 2001.07.03 03:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 하기
      2001.07.03 19:02
      먼저 QReport에서 DataSet을 Query와 연결시켜 주시고 QRDBText에서도 DataSet을 Query 와 연결시켜 주시...
    • 윤광희
      2001.07.21 03:15
      제 경험에 의하면 100% 메모리 누수 현상입니다. 제가 겪은건 두가지였는데요. 하나는 ICS 컴퍼넌트를 ...
    • Ziker
      2001.07.04 22:24
      안녕하세요 지커 입니다.. 혹시 메모리 누수가 있는건 아닌지요... 소스코드르 다시금 잘 검토 해 보셔...
    • 초보
      2001.07.05 01:26
      그런데 실제적으로 ocx가 종료가 안된것 같은데요 실제 똑같은것
    • 미디어
    • 2001.07.03 03:28
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 주삼식
      2001.07.18 19:03
      안녕하세요. 제가 만든 다바라는 프로그램을 보시면 화면을 그냥 깨끗하게 캡쳐해 옵니다. 이 부분은 ...
    • 주삼식
      2001.07.25 00:46
      맞네요. AVI는 깨끗하게 캡쳐가 되지만 mpeg같은 것은 검게 되네요. 이것은 다이렉트X를 사용하기 때문에...
    • 제이텍코리아
      2001.07.30 19:03
      안녕하세요. 안영기님이 자료실에 올리신 동영상 플레이어를 응용하면 캡쳐할 수 있네요. 그럼... ...
    • 초보
    • 2001.07.03 01:27
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이성훈
      2001.07.03 03:57
      초보 wrote: > 예) 1996.03.01 - 1998.12.05 사이 일수 계산 > 2000.01.04 - 2001.05.04 사이 일수 계...
    • 심재복
      2001.07.03 01:56
      그래요. mail.hanmail.net을 HOST에 넣어 주면 한메일의 SMTP로 릴레이식으로 던져 줍니다. 그래서 한메일...
    • delcho
      2001.07.03 02:03
      심재복 wrote: > 그래요. mail.hanmail.net을 HOST에 넣어 주면 한메일의 SMTP로 릴레이식으로 던져 줍니...
    • 심재복
      2001.07.03 02:12
      님께서 가지고 잇는 메일서버에 릴레이 방식으로 mail.hanmail.net이나 mail.shinbiro.com을 던졌을때 님께...