다음은 제가 작성한 SQL문입니다.
Trace해보면 SQL문이 실행이 되는데 SQL server 7.0 query generater에서
select문을 실행해보면 입력이 하나도 안 된것으로 나타나네요.
이유를 모르겠습니다.
procedure TResumeF.SpeedButton2Click(Sender: TObject);
begin
Try
Dm1F.ResumeQr.close;
Dm1f.ResumeQr.SQL.Clear;
Dm1F.resumeQr.sql.add(' insert into Dbo.ResumeTb values('''+edit3.text+''''
+ ' ,'''+edit2.Text+''','''+edit4.Text+''', :img'
+ ' ,'''+edit5.Text+''','''+edit6.Text+''','''+edit7.Text+''''
+ ' ,'''+maskedit1.Text+''','''+maskedit2.Text+''''
+ ' ,'''+edit8.Text+''','''+combobox2.Text+''','''+combobox1.Text+''''
+ ' ,'''+maskedit3.Text+''','''+edit9.Text+''','''+maskedit4.Text+''''
+ ' ,'''+edit10.Text+''','''+combobox3.Text+''','''+combobox4.Text+''''
+ ' ,'''+edit11.Text+''','''+edit12.text+''','''+maskedit5.Text+''''
+ ' ,'''+maskedit6.Text+''','''+maskedit7.Text+''','''+edit13.Text+''''
+ ' ,'''+combobox6.Text+''','''+combobox7.Text+''','''+combobox8.Text+''''
+ ' ,'''+maskedit8.Text+''','''+maskedit9.Text+''','''+combobox5.Text+''''
+ ' ,'''+edit14.Text+''','''+edit15.Text+''','''+edit16.Text+''''
+ ' ,'''+edit17.Text+''','''+combobox9.Text+''','''+edit20.Text+''''
+ ' ,'''+edit19.Text+''', :Selfmemo');
Dm1F.resumeQr.ParamByName('Img').LoadFromFile (openpicturedialog1.FileName,ftgraphic);
Dm1F.resumeQr.ParamByName('selfmemo').asmemo := memo1.text;
Dm1F.resumeQr.ExecSQL;
except
on EDBEngineError
do begin
showmessage('다시입력하세요...');
Dm1F.ResumeQr.cancel;
end;
end;
> 다음은 제가 작성한 SQL문입니다.
> Trace해보면 SQL문이 실행이 되는데 SQL server 7.0 query generater에서
> select문을 실행해보면 입력이 하나도 안 된것으로 나타나네요.
> 이유를 모르겠습니다.
>
> procedure TResumeF.SpeedButton2Click(Sender: TObject);
> begin
> Try
> Dm1F.ResumeQr.close;
> Dm1f.ResumeQr.SQL.Clear;
> Dm1F.resumeQr.sql.add(' insert into Dbo.ResumeTb values('''+edit3.text+''''
> + ' ,'''+edit2.Text+''','''+edit4.Text+''', :img'
> + ' ,'''+edit5.Text+''','''+edit6.Text+''','''+edit7.Text+''''
> + ' ,'''+maskedit1.Text+''','''+maskedit2.Text+''''
> + ' ,'''+edit8.Text+''','''+combobox2.Text+''','''+combobox1.Text+''''
> + ' ,'''+maskedit3.Text+''','''+edit9.Text+''','''+maskedit4.Text+''''
> + ' ,'''+edit10.Text+''','''+combobox3.Text+''','''+combobox4.Text+''''
> + ' ,'''+edit11.Text+''','''+edit12.text+''','''+maskedit5.Text+''''
> + ' ,'''+maskedit6.Text+''','''+maskedit7.Text+''','''+edit13.Text+''''
> + ' ,'''+combobox6.Text+''','''+combobox7.Text+''','''+combobox8.Text+''''
> + ' ,'''+maskedit8.Text+''','''+maskedit9.Text+''','''+combobox5.Text+''''
> + ' ,'''+edit14.Text+''','''+edit15.Text+''','''+edit16.Text+''''
> + ' ,'''+edit17.Text+''','''+combobox9.Text+''','''+edit20.Text+''''
> + ' ,'''+edit19.Text+''', :Selfmemo');
> Dm1F.resumeQr.ParamByName('Img').LoadFromFile (openpicturedialog1.FileName,ftgraphic);
> Dm1F.resumeQr.ParamByName('selfmemo').asmemo := memo1.text;
> Dm1F.resumeQr.ExecSQL;
> except
> on EDBEngineError
> do begin
> showmessage('다시입력하세요...');
> Dm1F.ResumeQr.cancel;
> end;
> end;
안녕하세요..
음냐..나중에 디버깅하기 진짜 힘들겠네요..
제가 얼핏보기엔 마지막에 ')'가 빠진듯 싶은데..
=> insert into tablename values (val1, val2...)
여러가지 문제가 발생할 가능성이 많기때문에
sql문을 여러번 add시켜서 줄을 정리하든가
아님 전부 파라미터로 받는식으로 하는게
나중에 고치기에도 편하지않을까 생각하네요..
첨에는 귀찮지만 필드명을 1:1 매치를 시켜도 나중에 편하죠..
위문제가 아니라면 몇개필드만 insert해보세요..
문제가 있는 필드가 있을수도..
조복기였습니다.