我有两个表(主,明细),用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;
代码如下
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;
解决方案 »
- 处理文本文件遇到的问题
- 如何实现实现TELNET控制的屏幕显示?
- 已在程序中设置Database对象Params和LoginPrompt属性,为何还要弹出登录对话框???(delphi6英文版与SQL7连接,操作系统为win2000)
- WIN2000默认为管道方式连接SQLSERVER,而XP是TCP/IP,所以我打包后XP能连上库,2000不能
- 只能button,其他控件怎么不行?
- 如何清除PaintBox的canvas上的内容?
- (续)刚才想散分,不过不能给超过100分。想开多个贴,结果只开了一个,然后荣誉分只有81分了……(10分钟后结贴)
- ●●●Delphi在数据操纵方面好像没有PB方便!!!●●●
- 关于数据库的问题(100)
- oracle/启动数据库的烦恼!!!
- 如何在Delphi中用浏览器等Windows自带的看图工具打开一幅图片
- 求电影院售票系统源码(做参考)
end;
end
else
if application.MessageBox('确认删除此记录吗?','提示',mb_ok)=mrok then
dm.t_yjdw.Delete;
end;