Q&A

  • 소스좀 봐주세여
이런식으루 간단히 insert 하는 부분인데

왜 Type Mismatch가 나오는지 전혀 모르겠어여.....

제발 가르쳐 주세여...



======================================================

with DM.qry_hosp do

begin

Close;

SQL.Clear;

SQL.Add('insert into "HOSP.db"');

SQL.Add('(병원구분, 병원번호, 병원명칭, 정액정률구분, 정률정액명칭, 병원규모코드, 총병상수,');

SQL.Add('총진료과수, 성명, 사업자등록번호, 주소, 전화번호, 은행, 계좌번호, 진찰료선납유무,');

SQL.Add('프린트1, 프린트2, 프린트3, 프린트4, 프린트5, 프린트6, 진찰료감액율, 약주사, 예약결산구분,');

SQL.Add('우편번호, FAX, EMAIL, 분업여부) values');

SQL.Add('(:HospGuBun, :HospNo, :HospName, :JGuBun, :JName, :HospSize, :ByungC,');

SQL.Add(':JinRyoC, :Name, :RegNo, :Addr, :Tel, :Bank, :AccountNo, :JinChal,');

SQL.Add(':Print1, :Print2, :Print3, :Print4, :Print5, :Print6, :JinChalDC, :YakJusa, :Reserve,');

SQL.Add(':Post, :FAX, :EMAIL, :Bunup)');



ParamByName('HospGuBun').AsInteger := HospGuBun;

ParamByName('HospNo').AsString := EdtHospNo.Text;

ParamByName('HospName').AsString := EdtHospName.Text;

ParamByName('JGuBun').AsString := EdtJGuBun.Text;

ParamByName('JName').AsString := EdtJName.Text;

ParamByName('HospSize').AsString := EdtHospSize.Text;

ParamByName('ByungC').AsInteger := ByungC;

ParamByName('JinRyoC').AsInteger := JinRyoC;

ParamByName('Name').AsString := EdtName.Text;

ParamByName('RegNo').AsString := EdtRegNo.Text;

ParamByName('Addr').AsString := EdtAddr.Text;

ParamByName('Tel').AsString := EdtTel.Text;

ParamByName('Bank').AsString := EdtBank.Text;

showmessage(EdtJinChal.Text);

ParamByName('AccountNo').AsString := EdtAccountNo.Text;

ParamByName('JinChal').AsString := EdtJinChal.Text;

ParamByName('Print1').AsString := Print1;

ParamByName('Print2').AsString := print2;

ParamByName('Print3').AsString := Print3;

ParamByName('Print4').AsString := Print4;

ParamByName('Print5').AsString := Print5;

ParamByName('Print6').AsString := Print6;

ParamByName('JinChalDC').AsInteger := JinChalDC;

ParamByName('YakJusa').AsString := Copy(cboYakJusa.Text, 1, 1);

ParamByName('Reserve').AsString := EdtReserve.Text;

ParamByName('Post').AsString := EdtPost.Text;

ParamByName('FAX').AsString := EdtFax.Text;

ParamByName('EMAIL').AsString := EdtEMail.Text;

ParamByName('Bunup').AsString := EdtBunup.Text;



try

ExecSQL;

except

MessageDlg('병원 DATA 저장 에러', mtError, [mbOK], 0);

exit;

end;



end;

2  COMMENTS
  • Profile
    Umpro 2001.01.09 23:39
    초보초보 wrote:

    > 이런식으루 간단히 insert 하는 부분인데

    > 왜 Type Mismatch가 나오는지 전혀 모르겠어여.....

    > 제발 가르쳐 주세여...

    >

    > ======================================================

    > with DM.qry_hosp do

    > begin

    > Close;

    > SQL.Clear;

    > SQL.Add('insert into "HOSP.db"');

    > SQL.Add('(병원구분, 병원번호, 병원명칭, 정액정률구분, 정률정액명칭, 병원규모코드, 총병상수,'); <=========여기 한글을 필드명으로 빠꾸어 주어야 하지 않나요 ???

    > SQL.Add('총진료과수, 성명, 사업자등록번호, 주소, 전화번호, 은행, 계좌번호, 진찰료선납유무,');

    > SQL.Add('프린트1, 프린트2, 프린트3, 프린트4, 프린트5, 프린트6, 진찰료감액율, 약주사, 예약결산구분,');

    > SQL.Add('우편번호, FAX, EMAIL, 분업여부) values');

    > SQL.Add('(:HospGuBun, :HospNo, :HospName, :JGuBun, :JName, :HospSize, :ByungC,');

    > SQL.Add(':JinRyoC, :Name, :RegNo, :Addr, :Tel, :Bank, :AccountNo, :JinChal,');

    > SQL.Add(':Print1, :Print2, :Print3, :Print4, :Print5, :Print6, :JinChalDC, :YakJusa, :Reserve,');

    > SQL.Add(':Post, :FAX, :EMAIL, :Bunup)');

    >

    > ParamByName('HospGuBun').AsInteger := HospGuBun; <====요기에 .Text가 안 /빠졌나요?....

    > ParamByName('HospNo').AsString := EdtHospNo.Text;

    > ParamByName('HospName').AsString := EdtHospName.Text;

    > ParamByName('JGuBun').AsString := EdtJGuBun.Text;

    > ParamByName('JName').AsString := EdtJName.Text;

    > ParamByName('HospSize').AsString := EdtHospSize.Text;

    > ParamByName('ByungC').AsInteger := ByungC;

    > ParamByName('JinRyoC').AsInteger := JinRyoC;

    > ParamByName('Name').AsString := EdtName.Text;

    > ParamByName('RegNo').AsString := EdtRegNo.Text;

    > ParamByName('Addr').AsString := EdtAddr.Text;

    > ParamByName('Tel').AsString := EdtTel.Text;

    > ParamByName('Bank').AsString := EdtBank.Text;

    > showmessage(EdtJinChal.Text);

    > ParamByName('AccountNo').AsString := EdtAccountNo.Text;

    > ParamByName('JinChal').AsString := EdtJinChal.Text;

    > ParamByName('Print1').AsString := Print1;

    > ParamByName('Print2').AsString := print2;

    > ParamByName('Print3').AsString := Print3;

    > ParamByName('Print4').AsString := Print4;

    > ParamByName('Print5').AsString := Print5;

    > ParamByName('Print6').AsString := Print6;

    > ParamByName('JinChalDC').AsInteger := JinChalDC;

    > ParamByName('YakJusa').AsString := Copy(cboYakJusa.Text, 1, 1);

    > ParamByName('Reserve').AsString := EdtReserve.Text;

    > ParamByName('Post').AsString := EdtPost.Text;

    > ParamByName('FAX').AsString := EdtFax.Text;

    > ParamByName('EMAIL').AsString := EdtEMail.Text;

    > ParamByName('Bunup').AsString := EdtBunup.Text;

    >

    > try

    > ExecSQL;

    > except

    > MessageDlg('병원 DATA 저장 에러', mtError, [mbOK], 0);

    > exit;

    > end;

    >

    > end;



    필드 Type와 입력받는 타입이 같아야 하는건 아시죠.

    Type Mismatch 이니까 어디부분에서 Type이 잘못 된거 같군요...



  • Profile
    Umpro 2001.01.09 23:46
    Umpro wrote:

    > 초보초보 wrote:

    > > 이런식으루 간단히 insert 하는 부분인데

    > > 왜 Type Mismatch가 나오는지 전혀 모르겠어여.....

    > > 제발 가르쳐 주세여...

    > >

    > > ======================================================

    > > with DM.qry_hosp do

    > > begin

    > > Close;

    > > SQL.Clear;

    > > SQL.Add('insert into "HOSP.db"');

    > > SQL.Add('(병원구분, 병원번호, 병원명칭, 정액정률구분, 정률정액명칭, 병원규모코드, 총병상수,'); <=========여기부터 한글을 필드명(원래 필드명)으로 빠꾸어 주어야 하지 않나요 ???

    > > SQL.Add('총진료과수, 성명, 사업자등록번호, 주소, 전화번호, 은행, 계좌번호, 진찰료선납유무,');

    > > SQL.Add('프린트1, 프린트2, 프린트3, 프린트4, 프린트5, 프린트6, 진찰료감액율, 약주사, 예약결산구분,');

    > > SQL.Add('우편번호, FAX, EMAIL, 분업여부) values');

    > > SQL.Add('(:HospGuBun, :HospNo, :HospName, :JGuBun, :JName, :HospSize, :ByungC,');

    > > SQL.Add(':JinRyoC, :Name, :RegNo, :Addr, :Tel, :Bank, :AccountNo, :JinChal,');

    > > SQL.Add(':Print1, :Print2, :Print3, :Print4, :Print5, :Print6, :JinChalDC, :YakJusa, :Reserve,');

    > > SQL.Add(':Post, :FAX, :EMAIL, :Bunup)');

    > >

    > > ParamByName('HospGuBun').AsInteger := HospGuBun; <====요기에 입력받는 Type 이 Integer 인가요?....

    > > ParamByName('HospNo').AsString := EdtHospNo.Text;

    > > ParamByName('HospName').AsString := EdtHospName.Text;

    > > ParamByName('JGuBun').AsString := EdtJGuBun.Text;

    > > ParamByName('JName').AsString := EdtJName.Text;

    > > ParamByName('HospSize').AsString := EdtHospSize.Text;

    > > ParamByName('ByungC').AsInteger := ByungC;<====요기에 입력받는 Type 이 Integer 인가요?....



    > > ParamByName('JinRyoC').AsInteger := JinRyoC; <====요기에 입력받는 Type 이 Integer 인가요?....



    > > ParamByName('Name').AsString := EdtName.Text;

    > > ParamByName('RegNo').AsString := EdtRegNo.Text;

    > > ParamByName('Addr').AsString := EdtAddr.Text;

    > > ParamByName('Tel').AsString := EdtTel.Text;

    > > ParamByName('Bank').AsString := EdtBank.Text;

    > > showmessage(EdtJinChal.Text);

    > > ParamByName('AccountNo').AsString := EdtAccountNo.Text;

    > > ParamByName('JinChal').AsString := EdtJinChal.Text;

    > > ParamByName('Print1').AsString := Print1; <===요부터는 변수인가요? 아님 0000.Text인가요?

    > > ParamByName('Print2').AsString := print2;

    > > ParamByName('Print3').AsString := Print3;

    > > ParamByName('Print4').AsString := Print4;

    > > ParamByName('Print5').AsString := Print5;

    > > ParamByName('Print6').AsString := Print6;

    > > ParamByName('JinChalDC').AsInteger := JinChalDC; <====요기에 입력받는 Type 이 Integer 인가요?....



    > > ParamByName('YakJusa').AsString := Copy(cboYakJusa.Text, 1, 1);

    > > ParamByName('Reserve').AsString := EdtReserve.Text;

    > > ParamByName('Post').AsString := EdtPost.Text;

    > > ParamByName('FAX').AsString := EdtFax.Text;

    > > ParamByName('EMAIL').AsString := EdtEMail.Text;

    > > ParamByName('Bunup').AsString := EdtBunup.Text;

    > >

    > > try

    > > ExecSQL;

    > > except

    > > MessageDlg('병원 DATA 저장 에러', mtError, [mbOK], 0);

    > > exit;

    > > end;

    > >

    > > end;



    필드 Type와 입력받는 타입이 같아야 하는건 아시죠.

    Type Mismatch 이니까 어디부분에서 Type이 잘못 된거 같군요...

    도움이 되었으면 좋겠습니다.

    >