不知道是什么原因,我写了一个SQL INSERT语句,能运行,可是运行之后 出现如下错误:Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 004FB940 in module'Project1.exe' Read of address 00000000 Proccess stoped我也去查看了我代码里的所有的函数的内存地址 可是我居然没有发现 004FB940 这个地址 我点确定之后,光标停在了SQL.Clear 请教高手,这是什么问题? 改如何解决!部分代码如下:
procedure TForm1.TBjsbcClick(Sender: TObject);
var
//i,j:integer;
xtmh,wpid,wpmc,wpgg,sz,jsrq1,jsbz:string;
//jsrq:TDateTime;
begin
xtmh:=edit9.Text;
wpid:=edit12.Text;
wpmc:=edit14.Text;
wpgg:=edit10.Text;
sz:=edit11.Text;
jsrq1:=DateToStr(jsrq.Date);
jsbz:=edit15.Text;
//i:=GetJSJLLastDjLsh();
//j:=i+1;
if (sz='') then
begin
showmessage('请输入酸重!');
end
else
begin
with JSJL_zj.JSJL do
begin
close;
SQL.Clear;
SQL.Add('insert JSJLH(XTMH,WPID,WPMC1,WPGG,SZ,JSRQ,JSBZ) values(:xtmhname,:wpidname,:wpmcname,:wpggname,:szname,:jsrqname,:jabzname)');
//ParamByName('djlsh'):=j;
Parameters.ParamByName('xtmhname').Value:=xtmh;
Parameters.ParamByName('wpidname').Value:=wpid;
Parameters.ParamByName('wpmcname').Value:=wpmc;
Parameters.ParamByName('wpggname').Value:=wpgg;
Parameters.ParamByName('szname').Value:=sz;
Parameters.ParamByName('jsrqname').Value:=jsrq1;
Parameters.ParamByName('jsbzname').Value:=jsbz;
execsql;
edit9.Text:='';
edit10.Text:='';
edit11.Text:='';
edit12.Text:='';
edit14.Text:='';
edit15.Text:='';
showmessage('保存成功!');
end;
end;
end;
procedure TForm1.TBjsbcClick(Sender: TObject);
var
//i,j:integer;
xtmh,wpid,wpmc,wpgg,sz,jsrq1,jsbz:string;
//jsrq:TDateTime;
begin
xtmh:=edit9.Text;
wpid:=edit12.Text;
wpmc:=edit14.Text;
wpgg:=edit10.Text;
sz:=edit11.Text;
jsrq1:=DateToStr(jsrq.Date);
jsbz:=edit15.Text;
//i:=GetJSJLLastDjLsh();
//j:=i+1;
if (sz='') then
begin
showmessage('请输入酸重!');
end
else
begin
with JSJL_zj.JSJL do
begin
close;
SQL.Clear;
SQL.Add('insert JSJLH(XTMH,WPID,WPMC1,WPGG,SZ,JSRQ,JSBZ) values(:xtmhname,:wpidname,:wpmcname,:wpggname,:szname,:jsrqname,:jabzname)');
//ParamByName('djlsh'):=j;
Parameters.ParamByName('xtmhname').Value:=xtmh;
Parameters.ParamByName('wpidname').Value:=wpid;
Parameters.ParamByName('wpmcname').Value:=wpmc;
Parameters.ParamByName('wpggname').Value:=wpgg;
Parameters.ParamByName('szname').Value:=sz;
Parameters.ParamByName('jsrqname').Value:=jsrq1;
Parameters.ParamByName('jsbzname').Value:=jsbz;
execsql;
edit9.Text:='';
edit10.Text:='';
edit11.Text:='';
edit12.Text:='';
edit14.Text:='';
edit15.Text:='';
showmessage('保存成功!');
end;
end;
end;
begin
Application.CreateForm(TJSJL_zj, JSJL_zj);
JSJL_zj.JSJL.Active:=true; JSJL_zj.ShowModal;
//JSJL_zj.Free;
end;上面的是这个Form 创建的代码