|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||
|
Membre du Club
![]() Inscription : février 2004 Messages : 166 ![]() |
slt voila j'ai une table IB composé d'une clé IDREGION et d'un champ NOMREGION de type caractère. J'ai écrit un trigger sur cette table, qui incrémente la clé pour chaque nouveau insert. Code :
Code :
Code :
Dans DELPHI STD4 j'exécute la procédure stockée: Code :
Quand le champ NOMREGION n'est pas dupliqué, mon insert fonctionne bien. Quand j'essais de dupliquer une valeur pour NOMREGION, l'exception est lévé, mon application delphi affiche ds une fenètre : exception 1079524496 . exception1. Impossible Ma question est la suivante : pourquoi le message d'erreur n'est pas tout simplement : "impossible" ? Nb : je pense que vous aller me poser la question suivante: Pourquoi ne pas mettre la clé sur le champ NOMREGION ? Ma réponse est : parce que je pense qu'une recherche sur un champ de type integer est plus rapide qu(une recherche sur un champ de type caractere de 50 ! Ai je raison ? Merci a+ |
||||||||
|
|
00
|
|
|
#2 | |||||
|
Membre à l'essai
![]() Inscription : juillet 2002 Messages : 190 ![]() |
Citation:
Pour ce qui est de la gesion de duplication de nomderegion tu n'as pas besoin de gerer ça avec une exception. voici un exemple: dans IB Code :
Code :
cordialement |
|||||
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : février 2004 Messages : 166 ![]() |
slt Ok c'est une solution sympa ! Merci. Autre question : en c/s , ne vaut il pas mieux faire les transactions ds les procédures stockées que dans delphi ? a+ |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Delphi ne crée pas de transaction.
De même que sous interbase6 on ne peut pas gérer les transactions dans une PS. Les transacions sont entièrement gérées sur le serveur. Le client (l'application Delphi dans votre cas) ne fait que demander au serveur : l'ouverture (création) d'une transaction. puis pour chaque exécution d'un ou plusieurs ordres SQL ou PS, on doit spécifier dans quel transaction l'effectuer. et enfin la fermeture (validante avec un commit ou annulante avec un rollback) de la transaction. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com