我在删除一表记录时这样写的一段代码
procedure TfrmDepInfo.SpeedButton3Click(Sender: TObject);
begin
if Application.MessageBox('确定要删除吗','系统提示',MB_OKCANCEL)= IDOK then
begin
with ADOQuery1 do
begin
ADOQuery1.Delete;
MessageBeep(0);
ShowMessage('记录已经删除')
end
end
end; 可是如果表有外键索引的话,这样写会出错,应该怎么写,我试着写一SQL语句判断该删表中外键索引的字段是不是在外表中存在,如存在就不能删除,
eg:select * from T2 where colmun in (select colmun from T1 where colmun=value) 如果这条语句的RecordCount>0的话,就可以判断不能删除了,不过,这个Value是怎么得到呢?有其它的方法也更好,谢谢!
procedure TfrmDepInfo.SpeedButton3Click(Sender: TObject);
begin
if Application.MessageBox('确定要删除吗','系统提示',MB_OKCANCEL)= IDOK then
begin
with ADOQuery1 do
begin
ADOQuery1.Delete;
MessageBeep(0);
ShowMessage('记录已经删除')
end
end
end; 可是如果表有外键索引的话,这样写会出错,应该怎么写,我试着写一SQL语句判断该删表中外键索引的字段是不是在外表中存在,如存在就不能删除,
eg:select * from T2 where colmun in (select colmun from T1 where colmun=value) 如果这条语句的RecordCount>0的话,就可以判断不能删除了,不过,这个Value是怎么得到呢?有其它的方法也更好,谢谢!
解决方案 »
- 我写的程序,关闭程序时显示器会黑屏一下。
- 问问大家:鄣州市“比比网络”“点击网络”怎么样?
- 如何使用public过程?
- 怎样发送封包的问题?
- 哪里有免费图形控件的原代码下载!
- 资源文件使用问题
- 我要用DELPHI开发一个打印的控件,放到。NET里进行打印报表,怎么办啊
- 有关三层结构的问题?(新手)急!急!急!-------------在线等待!!!!!
- 一个SQL语句的问题
- 我今天在这儿看了很长时间的关于WNetOpenEnum这一系列的函数,主要是想知道怎样获取局域网内的所有计算机及它们的IP。我总结了一下,写了三个函数,封装在一个单元内。基本能通过,可是......
- 怎样弹出新的窗口?
- (问题一大堆)如何根据一个程序里一Edit类组件句柄来对其text内容进行设置?
ADOQuery1.Delete;
try
...
except
end;
会更好一点!