Il s'agit d'une gestion bancaire utilisant une base de données Mysql(utilisation de procédures stockées + Trigger)
Utilise un pseudo modèle MVC.
Conclusion :
Cette application permet de voir la connexion entre le Java et MySQL,
de plus de voir les procédures stockées ainsi que les trigger sous Mysql.
Il permet aussi d'avoir une approche au modèle MVC.
18 févr. 2011 à 09:47
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??
11 févr. 2011 à 13:49
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...
11 févr. 2011 à 11:00
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,
11 févr. 2011 à 09:42
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
11 févr. 2011 à 08:25
Il n'y a qu'un trigger qui fonctionne ça doit être le premier. Les autres Triggers sont des tests, il ne faut pas les prendre en compte.
Cordialement,
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.