음.... 조복기님이 말하신대로 바꾸어서 실행했는데요...
그래도 결과는 마찬가지네요.
몇개만 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;
> 음.... 조복기님이 말하신대로 바꾸어서 실행했는데요...
> 그래도 결과는 마찬가지네요.
> 몇개만 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를 참조하세요..
좋은하루..