Q&A

  • Insert문이 실행되는데 데이타는 Insert가 안됩니다.
음.... 조복기님이 말하신대로 바꾸어서 실행했는데요...

그래도 결과는 마찬가지네요.

몇개만 Insert했을 때는 이상없이 들어 가는데

전체를 인서트 할 때만 SQL문이 실행만되고 실제 데이타

인서트는 되지 않습니다.



참고로 말씀드리면 Table의 필드수는 37개이고 C/S환경에

ODBC를 사용해서 SQLServer 7.0과 붙여서 사용하고 있습니다.

소스는 다음과 같습니다..



Try

Dm1F.ResumeQr.Close;

Dm1f.ResumeQr.SQL.Clear;

Dm1F.resumeQr.sql.add(' insert into Dbo.ResumeTb values( :resdate'

+ ' ,:resnum, :resourcecom, :img, :Korname, :Chnname, :engname'

+ ' ,:socialnum, :birthday, :age, :sex, :nation, :PZip, :PAddr'

+ ' ,:NZip, :NAddr, :Maried, :Parant, :Holder, :HolderRel '

+ ' ,:Tel1, :Tel2, :Mobile, :Email, :Military, :Mkind'

+ ' ,:MIndate, :MOutdate, :NationHelp, :LEye, :REye, :Weight, :Height'

+ ' ,:Blood , :Religion, :Hobby, :Selfmemo)');

Dm1F.resumeQr.ParamByName('resdate').asstring := edit3.Text;

Dm1F.resumeQr.ParamByName('resnum').asstring := edit2.Text;

Dm1F.resumeQr.ParamByName('Resourcecom').asstring := edit4.Text;

Dm1F.resumeQr.ParamByName('Img').LoadFromFile(openpicturedialog1.FileName,ftgraphic);

Dm1F.resumeQr.ParamByName('korname').asstring := edit5.Text;

Dm1F.resumeQr.ParamByName('chnname').asstring := edit6.Text;

Dm1F.resumeQr.ParamByName('engname').asstring := edit7.Text;

Dm1F.resumeQr.ParamByName('socialnum').asstring := maskedit1.Text;

Dm1F.resumeQr.ParamByName('birthday').asstring := maskedit2.Text;

Dm1F.resumeQr.ParamByName('age').asstring := edit8.Text;

Dm1F.resumeQr.ParamByName('sex').asstring := combobox2.Text;

Dm1F.resumeQr.ParamByName('Nation').asstring := combobox1.text;

Dm1F.resumeQr.ParamByName('PZip').asstring := maskedit3.Text;

Dm1F.resumeQr.ParamByName('PAddr').asstring := edit9.Text;

Dm1F.resumeQr.ParamByName('NZip').asstring := maskedit4.Text;

Dm1F.resumeQr.ParamByName('NAddr').asstring := edit10.Text;

Dm1F.resumeQr.ParamByName('Maried').asstring := combobox3.Text;

Dm1F.resumeQr.ParamByName('Parant').asstring := Combobox4.Text;

Dm1F.resumeQr.ParamByName('Holder').asstring := edit11.Text;

Dm1F.resumeQr.ParamByName('HolderRel').asstring := edit12.Text;

Dm1F.resumeQr.ParamByName('Tel1').asstring := maskedit5.Text;

Dm1F.resumeQr.ParamByName('Tel2').asstring := maskedit6.Text;

Dm1F.resumeQr.ParamByName('mobile').asstring := maskedit7.Text;

Dm1F.resumeQr.ParamByName('Email').asstring := edit13.Text;

Dm1F.resumeQr.ParamByName('Military').asstring := combobox6.Text;

Dm1F.resumeQr.ParamByName('MKind').asstring := combobox8.Text;

Dm1F.resumeQr.ParamByName('MInDate').asstring := maskedit8.Text;

Dm1F.resumeQr.ParamByName('MOutdate').asstring := maskedit9.Text;

Dm1F.resumeQr.ParamByName('NationHelp').asstring := combobox5.Text;

Dm1F.resumeQr.ParamByName('LEye').asstring := edit14.Text;

Dm1F.resumeQr.ParamByName('REye').asstring := edit15.Text;

Dm1F.resumeQr.ParamByName('Weight').asstring := edit16.Text;

Dm1F.resumeQr.ParamByName('Height').asstring := edit17.Text;

Dm1F.resumeQr.ParamByName('Blood').asstring := combobox9.Text;

Dm1F.resumeQr.ParamByName('Religion').asstring := edit20.Text;

Dm1F.resumeQr.ParamByName('hobby').asstring := edit19.Text;

Dm1F.resumeQr.ParamByName('selfmemo').asmemo := memo1.text;

Dm1F.resumeQr.ExecSQL;

except

on EDBEngineError

do begin

showmessage('다시입력하세요...');

(..rollback 처리부분 ..)

Dm1F.ResumeQr.cancel;

end;

end;



2  COMMENTS
  • Profile
    조복기 1999.06.15 20:58
    김태균 께서 말씀하시기를...

    > 음.... 조복기님이 말하신대로 바꾸어서 실행했는데요...

    > 그래도 결과는 마찬가지네요.

    > 몇개만 Insert했을 때는 이상없이 들어 가는데

    > 전체를 인서트 할 때만 SQL문이 실행만되고 실제 데이타

    > 인서트는 되지 않습니다.

    >

    > 참고로 말씀드리면 Table의 필드수는 37개이고 C/S환경에

    > ODBC를 사용해서 SQLServer 7.0과 붙여서 사용하고 있습니다.

    > 소스는 다음과 같습니다..

    >

    > Try

    > Dm1F.ResumeQr.Close;

    > Dm1f.ResumeQr.SQL.Clear;

    > Dm1F.resumeQr.sql.add(' insert into Dbo.ResumeTb values( :resdate'

    > + ' ,:resnum, :resourcecom, :img, :Korname, :Chnname, :engname'

    > + ' ,:socialnum, :birthday, :age, :sex, :nation, :PZip, :PAddr'

    > + ' ,:NZip, :NAddr, :Maried, :Parant, :Holder, :HolderRel '

    > + ' ,:Tel1, :Tel2, :Mobile, :Email, :Military, :Mkind'

    > + ' ,:MIndate, :MOutdate, :NationHelp, :LEye, :REye, :Weight, :Height'

    > + ' ,:Blood , :Religion, :Hobby, :Selfmemo)');

    > Dm1F.resumeQr.ParamByName('resdate').asstring := edit3.Text;

    > Dm1F.resumeQr.ParamByName('resnum').asstring := edit2.Text;

    > Dm1F.resumeQr.ParamByName('Resourcecom').asstring := edit4.Text;

    > Dm1F.resumeQr.ParamByName('Img').LoadFromFile(openpicturedialog1.FileName,ftgraphic);

    > Dm1F.resumeQr.ParamByName('korname').asstring := edit5.Text;

    > Dm1F.resumeQr.ParamByName('chnname').asstring := edit6.Text;

    > Dm1F.resumeQr.ParamByName('engname').asstring := edit7.Text;

    > Dm1F.resumeQr.ParamByName('socialnum').asstring := maskedit1.Text;

    > Dm1F.resumeQr.ParamByName('birthday').asstring := maskedit2.Text;

    > Dm1F.resumeQr.ParamByName('age').asstring := edit8.Text;

    > Dm1F.resumeQr.ParamByName('sex').asstring := combobox2.Text;

    > Dm1F.resumeQr.ParamByName('Nation').asstring := combobox1.text;

    > Dm1F.resumeQr.ParamByName('PZip').asstring := maskedit3.Text;

    > Dm1F.resumeQr.ParamByName('PAddr').asstring := edit9.Text;

    > Dm1F.resumeQr.ParamByName('NZip').asstring := maskedit4.Text;

    > Dm1F.resumeQr.ParamByName('NAddr').asstring := edit10.Text;

    > Dm1F.resumeQr.ParamByName('Maried').asstring := combobox3.Text;

    > Dm1F.resumeQr.ParamByName('Parant').asstring := Combobox4.Text;

    > Dm1F.resumeQr.ParamByName('Holder').asstring := edit11.Text;

    > Dm1F.resumeQr.ParamByName('HolderRel').asstring := edit12.Text;

    > Dm1F.resumeQr.ParamByName('Tel1').asstring := maskedit5.Text;

    > Dm1F.resumeQr.ParamByName('Tel2').asstring := maskedit6.Text;

    > Dm1F.resumeQr.ParamByName('mobile').asstring := maskedit7.Text;

    > Dm1F.resumeQr.ParamByName('Email').asstring := edit13.Text;

    > Dm1F.resumeQr.ParamByName('Military').asstring := combobox6.Text;

    > Dm1F.resumeQr.ParamByName('MKind').asstring := combobox8.Text;

    > Dm1F.resumeQr.ParamByName('MInDate').asstring := maskedit8.Text;

    > Dm1F.resumeQr.ParamByName('MOutdate').asstring := maskedit9.Text;

    > Dm1F.resumeQr.ParamByName('NationHelp').asstring := combobox5.Text;

    > Dm1F.resumeQr.ParamByName('LEye').asstring := edit14.Text;

    > Dm1F.resumeQr.ParamByName('REye').asstring := edit15.Text;

    > Dm1F.resumeQr.ParamByName('Weight').asstring := edit16.Text;

    > Dm1F.resumeQr.ParamByName('Height').asstring := edit17.Text;

    > Dm1F.resumeQr.ParamByName('Blood').asstring := combobox9.Text;

    > Dm1F.resumeQr.ParamByName('Religion').asstring := edit20.Text;

    > Dm1F.resumeQr.ParamByName('hobby').asstring := edit19.Text;

    > Dm1F.resumeQr.ParamByName('selfmemo').asmemo := memo1.text;

    > Dm1F.resumeQr.ExecSQL;

    > except

    > on EDBEngineError

    > do begin

    > showmessage('다시입력하세요...');

    > (..rollback 처리부분 ..)

    > Dm1F.ResumeQr.cancel;

    > end;

    > end;

    >



    안녕하세요..조복기입니다.

    한가지 문제가 있었네요..예전에 저도 경험했던부분인데..



    query.sql.add <= string형식이라 크기가 작습니다.

    그래서 아마 위 문장 add시 짤릴거에요..



    query.sql <= 이부분은 TStrings이므로 이걸 사용하면 될거에요



    예)

    var

    ex_string : TStrings;

    begin

    ex_string := Tex_string.Create;

    try

    with ex_string do begin

    Add('insert into..');

    Add('...');

    Add('...');

    ..

    Add('마지막줄');

    end;



    with query do begin

    sql.clear;

    sql := ex_string;

    execsql;

    ..

    ..

    end;

    end;

    finally

    ex_string.free;

    end;

    end;



    헬프중 TStrings.Add를 참조하세요..



    좋은하루..



  • Profile
    조복기 1999.06.15 21:11
    TString를 사용하는방법은 동일하지만

    전 그때 이방법을 안쓰고 sql문장을 memo.line에 넣어두고

    sql := memo.line 이라고 썼거든요..(같은 내용이죠?)

    add로 안되던문제를 이걸로 해결했던 기억이 남..



    하여튼 필드가 많으면 문제가 많네요..

    수정하기도 힘들고..



    만약 안된다면 연락주세요..



    p.s : 흠..짜장면을 시켰는데 넘 안오네요..배고프다.

    아래 제가 질문한거(전각<->반각변환) 답변좀 부탁드려요..

    좋은하루되시구요..

    • 김태균
    • 1999.06.15 20:04
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 조복기
      1999.06.15 20:58
      김태균 께서 말씀하시기를... > 음.... 조복기님이 말하신대로 바꾸어서 실행했는데요... > 그래도 결과...
    • 조복기
      1999.06.15 21:11
      TString를 사용하는방법은 동일하지만 전 그때 이방법을 안쓰고 sql문장을 memo.line에 넣어두고 sql := ...
    • 이미옥
    • 1999.06.15 19:55
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.06.15 21:05
      이미옥 께서 말씀하시기를... > 간단한 ActiveForm 예제(StringGrid에 값을 뿌려주는 예제)를 만들어서 익...
    • heart
    • 1999.06.15 19:02
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.06.15 19:05
      heart 께서 말씀하시기를... > > > 굴림체에서 0021에 해당하는 문자는 '!'인데 0021이란 입력값으...
    • heart
      1999.06.15 23:53
      안치봉 께서 말씀하시기를... > heart 께서 말씀하시기를... > > > > > > 굴림체에서 0021에 해당...
    • 안치봉
      1999.06.16 00:44
      heart 께서 말씀하시기를... > 안치봉 께서 말씀하시기를... > > heart 께서 말씀하시기를... > > > >...
    • 최기훈
    • 1999.06.15 18:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.06.15 19:03
      procedure Tfrm.ButtonClick(Sender: TObject); var paramName: array[0..20] of TLabel; begin ...
    • 북해
    • 1999.06.15 17:57
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.06.15 19:02
      북해 께서 말씀하시기를... > 안녕하세요. 동적생성한 버튼 객체를 없애려 하는데요 어떻게 하면 되는지요...
    • 김형철
    • 1999.06.15 08:41
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박성훈
      1999.06.15 17:17
      DBGrid에서 수정을 하시려는 것 같군요. TQuery와 TDataSource를 DBGrid와 연결하셨을 테구요. 이상태에서...
    • 김태균
    • 1999.06.15 05:41
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조복기
      1999.06.15 05:55
      김태균 께서 말씀하시기를... > 다음은 제가 작성한 SQL문입니다. > Trace해보면 SQL문이 실행이 되는데 ...
    • 유민호
    • 1999.06.15 05:16
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김형태
      1999.06.15 17:25
      유민호 께서 말씀하시기를... > AS400에서 DB2를 사용하고 있으며 델파이 4를 이용합니다. > 근데 서버에...
    • Hans
    • 1999.06.15 03:26
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 강지영
      1999.06.15 19:07
      Hans 께서 말씀하시기를... > 인터베이스에서 db를 생성하려고 하는데, > 어떻게 해야하는지 맨날 -902에...
    • 송기원
    • 1999.06.15 03:10
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.06.15 03:16
      oncreate에서 어플리케이션의 onshowhint이벤트 핸들러를 다시 정의 하여 사용하시면 되겠습니다. pro...
    • 송기원
      1999.06.15 03:39
      재가 궁금한것은 postMessage(handle, CM_HINTSHOW, wparam, lparma)과 같은 형식으로 Hint가 나오게 해야...
    • 김수영
    • 1999.06.15 02:36
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.06.15 03:11
      음냐~~~ 델파이의 세계에 첨 입문하신다고요.... 흐흐 정말 추카 드립니다... 제가 델파이를 시작한 ...
    • 신인재
      1999.06.15 02:59
      음냐 리치에딧 2.0을 사용하세요.... Rx라이브러리는 리치에딧2.0을 지원하는 대표적인 컴포넌트 모음입니...
    • 영인
    • 1999.06.15 02:09
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.06.15 02:56
      아래는 SpinEdit의 소스중의 일부입니다. 입력값을 걸러서 이벤트를 발생시키는 군요... 소스를 고치면 ...
    • sunhee
    • 1999.06.15 01:29
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 성숙련
    • 1999.06.15 01:08
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.06.15 03:17
      에러 메세지와 관련코딩을 함 올려 주세요...... 성숙련 께서 말씀하시기를... > 안녕하세요... > 음....
    • 박성훈
    • 1999.06.15 00:59
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.06.15 03:30
      FindComponent란 TComponent의 메소드 입니다. 따라서 아래와 같이 바뀌어 져야 할꺼 같습니다... func...
    • 송기원
    • 1999.06.15 00:29
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 전철호
      1999.06.15 01:08
      송기원 께서 말씀하시기를... > control의 enabled상태가 false로 바뀌었을때의 색깔을 > 다른 색으로 ...
    • 손진운
    • 1999.06.15 00:27
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 전철호
      1999.06.15 00:59
      손진운 께서 말씀하시기를... > 안녕하세요. > 콤보박스에 item들을 add한후에 그 내용들을 몇 글자를 ...