使用TClientDataSet和远程MySQL服务器的连接,使用DBExpress和C ++ Builder XE3。
TDBGrid显示来自特定表的数据,使用TDBNavigator进行导航。
删除网格中的记录时,删除首先仅反映/记录在TClientDataSet中,而不是在服务器上。当“ApplyUpdates”' ApplyUpdates'当服务器端尝试删除记录时。被调用,就像点击“ApplyUpdates”一样。导航器上的按钮。
如果行具有指向数据的外键,则抛出TDBXException,并且不会在服务器上删除该行(应该如此)。
问题是, 在使用TDBNavigator时捕获此异常?
试图捕捉导航器OnClick事件不起作用:
case TNavigateBtn::nbApplyUpdates:
try
{
Log(lWarning) << "About to delete a row";
}
catch(...)
{
}
break;
有什么想法吗?