DBEdit를 사용하지 않고, Edit와 TQuery를 사용하여 데이타를 INSERT를 하려는데..
에러가 발생합니다. 소스는 아래와 같구요 컴파일은 성공했는데 실행상에 문제가
발생하였습니다.. 에러메세지는
Project Project_0703.exe raised exception class EConvertError with message " ? is
not a vaild integer value'. Process stopped. Use Step or Run to continue.
procedure TForm2.BitBtn1Click(Sender: TObject);
var
cs_Nm : String;
saup_No : String;
tel_No : String;
fax_No : String;
cs_Stff : String;
cs_Stff_tel : String;
E_mail : String;
cs_D : String;
zp_Cd : String;
cs_Adrss : String;
jomog : String;
gubun : String;
sls_m : String;
sls_w : String;
bnk_nm : String;
bnk_Accnt : String;
begin
cs_Nm := Trim(Edit2.Text);
saup_No := Trim(Edit3.Text);
cs_D := Trim(Edit4.Text);
tel_No := Trim(Edit5.Text);
fax_No := Trim(Edit6.Text);
cs_Stff := Trim(Edit7.Text);
cs_Stff_tel := Trim(Edit8.Text);
E_mail := Trim(Edit9.Text);
zp_Cd := Trim(Edit10.Text);
cs_Adrss := Trim(Edit11.Text);
jomog := Trim(Edit12.Text);
gubun := Trim(Combobox1.Text);
sls_m := Trim(Edit13.Text);
sls_w := Trim(Edit14.Text);
bnk_nm := Trim(Edit15.Text);
bnk_Accnt := Trim(Edit16.Text);
if not Saupnocheck(saup_No) then //사업자 등록번호 체크
begin
ShowMessage('사업자 등록번호가 잘못 입력되었습니다');
Exit;
end
else
begin //Insert Statement
with Query2 do begin
Close;
SQL.Clear;
SQL.Add('INSERT INTO Customers(CstmrName,CstmrP,C_No,Tlphn,Fx,');
SQL.Add('C_Prt_Nm,C_Prt_Tlphn,ZpCd,Sub_Adrss,C_Dscrptn,Bnk_Nm,');
SQL.Add('Accnt_No, Ds_Sl_Stff_M,Gubun,Ds_Sl_Stff_W,hstry,E_Mail)');
SQL.Add('VALUES (:v_cs_Nm,:cs_D,:v_saup_No,');
SQL.Add(':v_tel_No,:v_fax_No,:v_cs_Stff,:v_cs_Stff_tel,');
SQL.Add(':v_zp_Cd,:v_cs_Adrss,:v_jomog,:v_bnk_nm,v_bnk_Accnt');
SQL.Add(':v_sls_m,:v_gubun,:v_sls_w,');
SQL.Add(':v_hstry,:v_E_mail)');
ParamByName('v_cs_Nm').AsString := cs_Nm;
ParamByName('v_saup_No').AsString := saup_No;
ParamByName('v_tel_No').AsString := tel_No;
ParamByName('v_fax_No').AsString := fax_No;
ParamByName('v_cs_Stff').AsString := cs_Stff;
ParamByName('v_cs_Stff_tel').AsString := cs_Stff_tel;
ParamByName('v_E_mail').AsString := E_mail;
ParamByName('v_cs_D').AsString := cs_D;
ParamByName('v_zp_Cd').AsString := zp_Cd;
ParamByName('v_cs_Adrss').AsString := cs_Adrss;
ParamByName('v_jomog').AsString := jomog;
ParamByName('v_gubun').AsString := gubun;
ParamByName('v_sls_m').AsString := sls_m;
ParamByName('v_sls_w').AsString := sls_w;
ParamByName('v_bnk_nm').AsString := bnk_nm;
ParamByName('v_bnk_Accnt').AsString := bnk_Accnt;
ExecSQL;
end
end;
end;
그냥 단순하게 입력하는 문제인데.. 문제가 무엇인지 판단이 안섭니다... TQuery로 INSERT를 할수있는데 제가 방향을 잘못잡은건지 아님 다른 처리가 또 필요한지 궁금합니다... 그리고 꼭 DBEdit를 사용해야 하는건지.... 아무튼 고수님들의 자세한 리플바랍니다....
그럼..
파라미터 타입이 전부 String 타입이라면
아마도 테이블 필드를 다시 한번 확인해보시면
Integer 또는 numeric의 속성을 지닌 필드가 있을 것 같네요..
델초보 wrote:
> DBEdit를 사용하지 않고, Edit와 TQuery를 사용하여 데이타를 INSERT를 하려는데..
> 에러가 발생합니다. 소스는 아래와 같구요 컴파일은 성공했는데 실행상에 문제가
> 발생하였습니다.. 에러메세지는
> Project Project_0703.exe raised exception class EConvertError with message " ? is
> not a vaild integer value'. Process stopped. Use Step or Run to continue.
>
> procedure TForm2.BitBtn1Click(Sender: TObject);
> var
> cs_Nm : String;
> saup_No : String;
> tel_No : String;
> fax_No : String;
> cs_Stff : String;
> cs_Stff_tel : String;
> E_mail : String;
> cs_D : String;
> zp_Cd : String;
> cs_Adrss : String;
> jomog : String;
> gubun : String;
> sls_m : String;
> sls_w : String;
> bnk_nm : String;
> bnk_Accnt : String;
> begin
> cs_Nm := Trim(Edit2.Text);
> saup_No := Trim(Edit3.Text);
> cs_D := Trim(Edit4.Text);
> tel_No := Trim(Edit5.Text);
> fax_No := Trim(Edit6.Text);
> cs_Stff := Trim(Edit7.Text);
> cs_Stff_tel := Trim(Edit8.Text);
> E_mail := Trim(Edit9.Text);
> zp_Cd := Trim(Edit10.Text);
> cs_Adrss := Trim(Edit11.Text);
> jomog := Trim(Edit12.Text);
> gubun := Trim(Combobox1.Text);
> sls_m := Trim(Edit13.Text);
> sls_w := Trim(Edit14.Text);
> bnk_nm := Trim(Edit15.Text);
> bnk_Accnt := Trim(Edit16.Text);
>
> if not Saupnocheck(saup_No) then //사업자 등록번호 체크
> begin
> ShowMessage('사업자 등록번호가 잘못 입력되었습니다');
> Exit;
> end
> else
> begin //Insert Statement
> with Query2 do begin
> Close;
> SQL.Clear;
> SQL.Add('INSERT INTO Customers(CstmrName,CstmrP,C_No,Tlphn,Fx,');
> SQL.Add('C_Prt_Nm,C_Prt_Tlphn,ZpCd,Sub_Adrss,C_Dscrptn,Bnk_Nm,');
> SQL.Add('Accnt_No, Ds_Sl_Stff_M,Gubun,Ds_Sl_Stff_W,hstry,E_Mail)');
> SQL.Add('VALUES (:v_cs_Nm,:cs_D,:v_saup_No,');
> SQL.Add(':v_tel_No,:v_fax_No,:v_cs_Stff,:v_cs_Stff_tel,');
> SQL.Add(':v_zp_Cd,:v_cs_Adrss,:v_jomog,:v_bnk_nm,v_bnk_Accnt');
> SQL.Add(':v_sls_m,:v_gubun,:v_sls_w,');
> SQL.Add(':v_hstry,:v_E_mail)');
> ParamByName('v_cs_Nm').AsString := cs_Nm;
> ParamByName('v_saup_No').AsString := saup_No;
> ParamByName('v_tel_No').AsString := tel_No;
> ParamByName('v_fax_No').AsString := fax_No;
> ParamByName('v_cs_Stff').AsString := cs_Stff;
> ParamByName('v_cs_Stff_tel').AsString := cs_Stff_tel;
> ParamByName('v_E_mail').AsString := E_mail;
> ParamByName('v_cs_D').AsString := cs_D;
> ParamByName('v_zp_Cd').AsString := zp_Cd;
> ParamByName('v_cs_Adrss').AsString := cs_Adrss;
> ParamByName('v_jomog').AsString := jomog;
> ParamByName('v_gubun').AsString := gubun;
> ParamByName('v_sls_m').AsString := sls_m;
> ParamByName('v_sls_w').AsString := sls_w;
> ParamByName('v_bnk_nm').AsString := bnk_nm;
> ParamByName('v_bnk_Accnt').AsString := bnk_Accnt;
> ExecSQL;
> end
> end;
>
>
> end;
>
> 그냥 단순하게 입력하는 문제인데.. 문제가 무엇인지 판단이 안섭니다... TQuery로 INSERT를 할수있는데 제가 방향을 잘못잡은건지 아님 다른 처리가 또 필요한지 궁금합니다... 그리고 꼭 DBEdit를 사용해야 하는건지.... 아무튼 고수님들의 자세한 리플바랍니다....
>
> 그럼..
>
>