1、给zone到phone这两个表中的zoneid字段建立一个一对多的关系
在Interbase的ISQL中
Alter Table Phone
Add Foreign Key(Phoneid) Reference Zone;
(当然:Zone中PK为zoneid,Phone中PK为Zoneid和PhoneID2、然后在程序的删除按钮中:
try
TIBTablePhone.Delete;
TTransactionPhone.Commit;
except
on E: Exception do begin
MessageDlg('该区域有话机,不能删除该区域!',mtInformation,[mbOK],0)
end;
end;
在Interbase的ISQL中
Alter Table Phone
Add Foreign Key(Phoneid) Reference Zone;
(当然:Zone中PK为zoneid,Phone中PK为Zoneid和PhoneID2、然后在程序的删除按钮中:
try
TIBTablePhone.Delete;
TTransactionPhone.Commit;
except
on E: Exception do begin
MessageDlg('该区域有话机,不能删除该区域!',mtInformation,[mbOK],0)
end;
end;
解决方案 »
- word 文件头用delphi怎么读,它的格式有资料吗?
- tsrtinglist 去读取 网页地址 出错 求解
- delphi 根据字符串长度来控制控件长度
- 急问: ado+mysql5.0 中文乱码问题
- IdUDPClient 和 IdUDPServer进行图象的传输的问题
- chechy,老鱼,小昂,小新,老千 帮我一个忙,关于如何用字符串分配权限的
- 字符串中如何包含单引号'?
- 用access数据库,设计完一个表,保存时access提示最好设置一个自动编号的索引ID,这是有什么用的?
- Delphi6做报表:如何把QuickRep2加在QuickRep1中?
- 怎么编辑project
- 提问!
- 不可不看的帖子!!!!!!!!!!!1
with query1 do
begin
close;
sql.clear;
sql.add('select p.phoneno from zone z,phone p');
sql.add(' where z.zoneid=p.zoneid and z.zonename='+quotedstr (form1.treevew1.selected.text));
open;
if fieldbyname('phoneno').asstring='' then
begin
showmessage('对不起,区域不能删除!');
exit;
end
else begin
<你要删除记录的代码>
end;end;
用一个query:
with query1 do
begin
close;
sql.clear;
sql.add('select p.phoneno from zone z,phone p');
sql.add(' where z.zoneid=p.zoneid and z.zonename='+quotedstr(form1.treevew1.selected.text));
open;
if fieldbyname('phoneno').asstring<>'' then
begin
showmessage('对不起,区域不能删除!');
exit;
end
else begin
<你要删除记录的代码>
end;end;