Q&A

  • ParamByName 사용시 애로사항
안녕하세요.

첨으로 ParamByName을 사용하여 데이터베이스에 데이터를 삽입하는 프로그램을 만들엇ㅆ습니다. (다음과 같이)

for introw:=1 to stringgrid1.RowCount do

begin

q1.sql.Clear;

q1.sql.Add('insert into ia3710t0 (fcode,jcode,date,gcode,mmcode,seq,surang,chamt,pgamt,sonik,in_sise,bef_surang,bef_chamt,bef_pgamt)');

q1.sql.Add(' values(:k001,:k002,:k003,:k004,:k005,:k006,:k007,:k008,:k009,:k010,:k011,:k012,:k013,:k014)');



q1.ParamByName('k001').asstring:=stringgrid1.Cells[1,introw]; // fcode

q1.ParamByName('k002').asstring:=stringgrid1.Cells[2,introw]; // jcode

q1.ParamByName('k003').asstring:=stringgrid1.Cells[3,introw]; // date

q1.ParamByName('k004').asfloat :=strtofloat(stringgrid1.Cells[4,introw]); // gcode

q1.ParamByName('k005').asfloat :=strtofloat(stringgrid1.Cells[5,introw]); // mmcode

q1.ParamByName('k006').asfloat :=strtofloat(stringgrid1.Cells[6,introw]); // seq

q1.ParamByName('k007').asfloat :=strtofloat(stringgrid1.Cells[7,introw]); // surang

q1.ParamByName('k008').asfloat :=strtofloat(stringgrid1.Cells[8,introw]); // chamt

q1.ParamByName('k009').asfloat :=strtofloat(stringgrid1.Cells[9,introw]); // pgamt

q1.ParamByName('k010').asfloat :=strtofloat(stringgrid1.Cells[10,introw]); // sonik

q1.ParamByName('k011').asfloat :=strtofloat(stringgrid1.Cells[11,introw]); // in_sise

q1.ParamByName('k012').asfloat :=strtofloat(stringgrid1.Cells[12,introw]); // bef_surang

q1.ParamByName('k013').asfloat :=strtofloat(stringgrid1.Cells[13,introw]); // bef_chamt

q1.ParamByName('k014').asfloat :=strtofloat(stringgrid1.Cells[14,introw]); // bef_pgamt

q1.execsql;

end;



그런데 문제가 생겨 sql값을 찾아보니 다음과 같이 돼버렸습니다.

'insert into ia3710t0 (fcode,jcode,date,gcode,mmcode,seq,surang,chamt,pgamt,sonik,in_sise,bef_surang,bef_chamt,bef_pgamt)'#$D#$A' values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)'#$D#$A



왜 값이 안들어가고 '?' 으로 표시되는지...?

그리고 '#$D#$A'가 무슨 문자이길래 들어갔는지 ...?



sql문이 이렇게 되는 바람에 insert쿼리가 안되는 것 같은데 알려주세요.

미리 감사드립니다.



0  COMMENTS