eric2048
Messages postés6Date d'inscriptiondimanche 27 décembre 2009StatutMembreDernière intervention11 janvier 2010
-
6 janv. 2010 à 01:05
eric2048
Messages postés6Date d'inscriptiondimanche 27 décembre 2009StatutMembreDernière intervention11 janvier 2010
-
11 janv. 2010 à 23:26
Bonjour,
Je suis entrain d'écrire une classe java permettant de créer une personne avec un nom,un prénom et un salaire,cependant je rencontre un petit problème.
En fait,j'aimerais que lors de l'appel à mon constructeur,la personne soit crée et qu'elle soit directement insérée dans une base,c'est à dire si je crée ma personne avec les paramètres nom,prénom et salaire,dans ma table sur oracle(déjà crée,ici la table test) soit insérée.
Cependant,si la personne existe déjà,le constructeur ne doit pas l'insérer à nouveau,mais renvoyer cette ligne.
Est ce quelqu'un pourrait m'éclairer sur la façon dont il faut procéder,j'ai écris un code qui permet d'insérer,mais il y a des doublons.
Si quelqu'un pourrait m'aider ça serait vraiment super sympa.
public class Personne{
private String nom;
private String prenom;
private int salaire;
....
accesseurs
...
public Personne(String n,String p,int s)throws SQLException{
nom=n;
prenom=p;
salaire=s;
try {
/*toutes les lignes me permettant de me connecter à la base oracle,qui fonctionnent (tester déjà sur d'autres fonctions */
int rs;
Statement stmt=con.createStatement();
rs=stmt.executeUpdate("insert into test(nom,prenom,salaire)values( "+"'"+nom+"'"+","+"'"+prenom+"'"+","+"'"+salaire+"'"+")");
}
catch(Exception e ){
System.out.println(e.toString());
}
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 6 janv. 2010 à 08:53
Salut,
Soit tu le gère au niveau d'oracle en faisant un triger qui, sur le insert, va tester si la ligne existe déjà, et si c'est le cas, modifie à la volée ton insert en commande update, soit tu le fais en java : tu fais d'abord un select, s'il te renvoie rien, tu fais un insert, si il te renvoie quelque chose, tu fais un update.
______________________________________
DarK Sidious