Salut les développeurs. J'aimerais que quelqu'un me file un tuyau sur comment faire des insertions dans Interbase 5.5 avec un UpdateSQL
Je suis à l'écoute! Merci
Salut les développeurs. J'aimerais que quelqu'un me file un tuyau sur comment faire des insertions dans Interbase 5.5 avec un UpdateSQL
Je suis à l'écoute! Merci
Introduire la requete dans la propriété SQL de votre table
Ca devrait marcher.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 IBTable1.SQL:='Insert Into Table (...) values (...); IBTable1.UpdateSQL;
Tu parlais pas du composant TUpdateSQL par hasard ?
Merci de me répondre. Je me suis peut-être mal exprimé. Quand je parle de UpdateSQL je pense au composant TUpdateSQL. ¨
Pour la solution que vous me propsez, les tables n'ont pas de prpriété SQL!
La table en question a une propriété UpdateObject, assigne lui le compo TUpdateSql en question et n'oublie pas de préciser ses différentes propriétés SQL!
Il est bien de l'utiliser si tu stockes les modifications en cache...
Oui, je parle bien du composant TUpdateSQL! J'essaie le code suivantA l'exécution, j'obtient le message d'erreur suivant Le projet MONProjet a provoqué une classe d'exception EInterBaseError avec le message 'violation of PRIMARY or UNIQUE KEY constraint MaContraine on table "MaTable". Processus stoppé. Utilisez pas à pas ou exécuter pour continuer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 with MonDatamodule do begin MaTransaction.CheckInTransaction; MaTable.Append; MonUpdateSQL.ExecSQL(ukInsert); MaTransaction.Commit; end
Le plus bizarre c'est que malgré ce message d'erreur, l'enregistrement est tout de même effectué puisqu'il s'affiche lors de l'exécution d'une requête select dans le Interbase ISQL. Est-ce normal?
nonEnvoyé par mariustrezor
Où est ce que tu exécutes ce code ? Dans l'évènement OnUpdateRecord ?
As-tu vérifié qu'il n'ya effectivement aucune contrainte violée ?
Tu peux gérer les exceptions dans cet évènement et faire un Rollback s'il y'a un problème...
J'ai partiellement résolu le problème mais il y en a un autre qui s'est créé. Le Trigger Before Insert que j'utilise pour incrémenter automatiquement l'identifiant ne se déclenche pas.
Un sujet similaire a déjà été posté sur le forum mais je n'ai pas tout à fait compris la réponse
Le problème est résolu! J'ai dû mal initialiser une propriété puisque maintenant, le trigger before insert se déclenche correctement.
Merci pour votre aide.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager