我有两个表(主,明细),用dbgrid显示,点击DBNavigator的删除想删除主表时如果存在明细记录则一并删除,需要怎么设置?通过代码实现时,记录可以删除但有错误:error creating cursor handle
代码如下
   with dm.Q_temp do
   begin
     close;
     sql.Clear;
     sql.Add('select * from wz_yldw2 where yjdw_id='+dm.t_yjdw.fieldbyname('yjdw_id').AsString);
     open;
     if not eof then
     begin
      if  (application.MessageBox('此一级单位存在一条以上二级单位,如果继续二级单位也将删除,删除?','警告',mb_yesno)=mryes) then
      begin
       s:=fieldbyname('yjdw_id').AsString;
       dm.t_yjdw.Delete;
       close;
       sql.Clear;
       sql.Add('delete from wz_yldw2 where yjdw_id='+s);
       showmessage(sql.Text);
       open;
      end;
     end
     else
     if application.MessageBox('确认删除此记录吗?','提示',mb_ok)=mrok then
       dm.t_yjdw.Delete;
   end;