2 messages sur DeleteError
J'ai 2 tables SQl liées par une foreign key delete restrict.
Dans une DBGrid avec un navigateur, je gère la table parente
Quand je tente la suppression, j'éxécute le code suivant :
void __fastcall TRDCDM::T072_SFDeleteError(TDataSet *DataSet,
EDatabaseError *E, TDataAction &Action)
{
if (E->Message.AnsiPos("SQL0532N"))
{
AnsiString Message = "Erreur Il y a des rangs dépendants, suppression impossible";
Application->MessageBox(Message.c_str(),
Application->Title.c_str(),
MB_OK | MB_ICONSTOP);
}
}
et j'obtient le message défini ci-dessus si le SQLCODE est SQL0532N
je fais OK
et un deuxième message apparait
"Erreur SQL générale"
[IBM][CLI Driver][DB2/NT]SQL0532N une ligne parente ne peut pas être supprimée car la relatuion <...> limite la suppresion
Comment supprimer l'apparition de dexième message ?
2 Messages sur le DeleteError
:yaisse2: J'ai trouvé la solution, il faut ajouter "Abort();" et "return;"
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| void __fastcall TRDCDM::T072_SFDeleteError(TDataSet *DataSet,
EDatabaseError *E, TDataAction &Action)
{
if (E->Message.AnsiPos("SQL0532N"))
{
AnsiString Message = "Erreur\n Il y a des rangs dépendants, suppression impossible";
Application->MessageBox(Message.c_str(),
Application->Title.c_str(),
MB_OK | MB_ICONSTOP);
Abort();
return;
}
} |