Gestion bancaire

Soyez le premier à donner votre avis sur cette source.

Vue 32 181 fois - Téléchargée 12 508 fois

Description

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.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

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
Messages postés
20
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
20 août 2012

Bonjour,

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,
Afficher les 19 commentaires

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.