procedure  tform1.clinicregister( patientid1 : string);
begin
  with mzys_query2 do
 begin
  close;
  sql.Add('select mainpour from mzys_clinicregister where patientid=:patientid');
  parambyname('patientid').Value :=patientid1;
  open;  edit1.text:=mzys_query2.Fields.Fields[0].AsString ;
end;
end;procedure TForm1.afterscroll(DataSet: TDataSet);var registerno1 : string;
 var patientid1:string;
begin patientid1:= dbgrid1.Fields[1].AsString ;  clinicregister(patientid1);
 end;
在换行之前数据可以正常 显示。但当换行触发事件后,调用clinicregister(patientid1) 报错。是不是因为过程里包含sql语句呀?????