GESTION BANCAIRE

Signaler
Messages postés
2
Date d'inscription
dimanche 24 décembre 2000
Statut
Membre
Dernière intervention
26 avril 2010
-
Messages postés
20
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
20 août 2012
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/51686-gestion-bancaire

Messages postés
20
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
20 août 2012

Bonjours,
l'erreur signifie que la base de donnée n'existe pas,
Vous travaillez en local? Le nom de la base de données est-il correct lors de sa création??
Messages postés
3
Date d'inscription
mardi 25 janvier 2011
Statut
Membre
Dernière intervention
11 février 2011

Merci pour l'explication !

Du coup maintenant, j'ai ouvert le projet sous Eclipse, insérer le lien JDBC.
Je me retrouve maintenant avec le projet tel que :

GestionBancaireMVC
-> src
-> JRE System library
-> Referenced libraries
|-> mysql-connector-java-5.1.14-bin.jar

Lorsque j'exécute mon projet, la fenêtre s'initialise bien, tout est bien en place, mais j'ai pas mal d'erreur, qui sont apparemment liés à la connexion qui serait inexistante...

Exemple : "com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'banque'"

Comment puis-je faire ?

Merci pour votre patience...
Messages postés
20
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
20 août 2012

Bonjour,

La première erreur doit être causée car vous n'avez pas supprimé l'ancien trigger pour crée le nouveau.

Délimiter dans MySQL sert à remplacer le ";" par d'autres caractères, Comme on le voit à la fin du premier trigger on voit DELIMITER ";", c'est à dire que l'on remet le caractére ";" à la place de "$$".
Sous MySQL, le ; permet de terminer une requête. Or dans le trigger on est obligé d'exécuter plusieurs requêtes à la suite du coup le temps de créer le trigger, il faut remplacer le ; par un autre caractère d'ou le DELIMITER $$.

Je ne sais pas si on peut voir un trigger sous phpMyAdmin, je n'ai pas fait de recherche dessus

Cordialement,
Messages postés
3
Date d'inscription
mardi 25 janvier 2011
Statut
Membre
Dernière intervention
11 février 2011

Bonjour,

merci de votre réponse si rapide ! :-)

Ca à l'air de marcher mais vu que je doute un peu sur un point, je préfère détailler ma démarche afin que vous me compreniez et d'aider ce qui ont le même genre de problème. :-)

J'ai donc exéctué ce code tel que :

DELIMITER $$
CREATE TRIGGER ModifEmploye AFTER UPDATE ON EMPLOYE FOR EACH ROW
BEGIN
SET @codeEmpl = NEW.codeEmploye;
SET @codeAgence = NEW.codeAgence;
SET @codeCateg = NEW.codeCategorie;
SET @codeTabCategDir= 5;
SET @codeDir = 1;

SELECT codeDirecteur
INTO @codeDir
FROM AGENCE
WHERE codeAgence = @codeAgence;

IF(@codeCateg = @codeTabCategDir) THEN
UPDATE AGENCE
SET codeDirecteur = @codeEmpl
WHERE codeAgence = @codeAgence;
END IF;
END
$$
DELIMITER ;

Ce qui me donne comme erreur : " #1235 - This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table' "

J'ai donc essayé ce code sans les délimiter :

CREATE TRIGGER ModifEmploye AFTER UPDATE ON EMPLOYE FOR EACH ROW
BEGIN
SET @codeEmpl = NEW.codeEmploye;
SET @codeAgence = NEW.codeAgence;
SET @codeCateg = NEW.codeCategorie;
SET @codeTabCategDir= 5;
SET @codeDir = 1;

SELECT codeDirecteur
INTO @codeDir
FROM AGENCE
WHERE codeAgence = @codeAgence;

IF(@codeCateg = @codeTabCategDir) THEN
UPDATE AGENCE
SET codeDirecteur = @codeEmpl
WHERE codeAgence = @codeAgence;
END IF;
END

Là j'ai donc cette erreur : " #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3 "

Du coup en cherchant qu'est ce qu'un Delimiter, j'ai remarqué des codes tel que : "Delimiter //". J'ai donc pour essayé remplacer "Delimiter $$" en début de code par "Delimiter //", et surprise, la requête sql a été exécuté avec succès !
Qu'en pensez vous ?

Mais pour être sur que ca marche avant de passer à la suite, mon Trigger est il sensé se trouver quelque part dans ma base de donnée, car je ne suis pas sur de voir ce fameux Trigger, à moins qu'il ne soit pas forcément visible ?

Cordialement
Afficher les 19 commentaires