Bonjour

je travaille sous Visual Studio en VB.Net sur une appli fonctionnant avec une BdD créée sous SQLite, celle-ci ayant été créée sous SQlite Expert (j'utilise parfois SQlite ADministrator également)

J'ai 2 tables reliées par une relation de 1 à plusieurs. La relation est déclarée dans avec une contrainte de Update et Delete en cascade visible dans SQlite Expert comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
CREATE TABLE tableenfant (
  [cléprimaire] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 
  [cléexterne] INTEGER CONSTRAINT [tableparent-tableenfant] REFERENCES tableaparent([cléexterne]) ON DELETE CASCADE ON UPDATE CASCADE, 
  [autrechamp1] TEXT NOT NULL, 
  [autrechamp2] REAL, 
  [autrechamp3] [VARCHAR(50)], 
  [autrechamp4] INTEGER NOT NULL);
Lorsque je supprime un enregistrement par le code, dans tableparent, je m'attends à ce que les enregistrements de la tableenfants soient également supprimés. Or il n'en est rien.

Je précise que je suis assez novice sur SQLite et VB.NET donc j'ai peut-être raté un truc élémentaire, mais je ne sais pas trop où chercher

Si qqun peut m'aider, je lui en serais très reconnaissant.

EDIT: j'ai vu qu'on peut le faire avec des triggers, mais j'ai aussi vu que, depuis peu, SQlite gère les foreign keys à condition de taper qqch comme :
Mais je n'ai pas compris où l'on tape cette instruction quand on est en VB.NET