Comment utiliser une variable auto Increment avec java netbeans

Signaler
Messages postés
38
Date d'inscription
jeudi 29 mars 2012
Statut
Membre
Dernière intervention
26 mai 2015
-
HASSABALLAH
Messages postés
38
Date d'inscription
jeudi 29 mars 2012
Statut
Membre
Dernière intervention
26 mai 2015
-
Bonjour,

Bonjour cher ami(e)s
j'utilise SQL server 2008 avec Netbeans
j'ai crée une Base de Donnée Nommé:scolarité et 8 Tables
dans l'une des table j'utilise le champ NUM est de type INT AUTO_INCREMENT NOT NULL,
mon problème est que je veux inséré des éléments dans cette table a partir de mon interface netbeans :
voici la fonction Ajouter.
avec cette fonction je peut pas ajouter car il me génère une erreur je compte sur vous pour m'aider

public void Ajouter(int NUM,String NOM,String PRENOM)
{
try {

PreparedStatement pst;

pst=PmimerProgramme.prepareStatement("insert into etudiant values(?,?,?)");
pst.setInt(1,NUM);
pst.setString(2,NOM);
pst.setString(3,PRENOM);
int resultat=pst.executeUpdate();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null,ex.getMessage());
}

}

1 réponse

Messages postés
16110
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
13 février 2020
89
Bonjour,

NUM est auto incrémenté, il ne sert donc à rien de l'insérer, cela va se faire tout seul.

pst=PmimerProgramme.prepareStatement("insert into etudiant (NOM, PRENOM) values (?,?)");
pst.setString(1,NOM);
pst.setString(2,PRENOM);
KX
Messages postés
16110
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
13 février 2020
89
On ne peut pas les deviner tes erreurs. Le minimum serait de nous donner la stacktrace...

} catch (Exception ex) { 
    JOptionPane.showMessageDialog(null,ex.getMessage()); 
    e.printStackTrace();
} 
HASSABALLAH
Messages postés
38
Date d'inscription
jeudi 29 mars 2012
Statut
Membre
Dernière intervention
26 mai 2015
> KX
Messages postés
16110
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
13 février 2020

OK, je veux revoir mon programme à tête reposer et je veux vous faire signe Merci
HASSABALLAH
Messages postés
38
Date d'inscription
jeudi 29 mars 2012
Statut
Membre
Dernière intervention
26 mai 2015
> KX
Messages postés
16110
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
13 février 2020

salut,
j'ai testé avec la méthode qui vous avez dit et le resultat est bon;
j'ai un autre problème avec cette méthode qui revoie un entier ;mai je n'arrive pas à récupérer cet entier:

public int Recup_Id throws SQLException{
////////////////////////////////


Statement st = PmimerProgramme.createStatement();

int r=st.executeUpdate("select id_Etudiant from Etudiant where Non_Etudiant=' "+Non_Etudiant+" ' );


return r;
KX
Messages postés
16110
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
13 février 2020
89
La méthode executeUpdate ne peut être utilisée que pour des requêtes INSERT, UPDATE ou DELETE. Pas pour faire des SELECT. Regarde la méthode execute à la place.

De plus : attention à l'injection SQL, Non_Etudiant peut potentiellement contenir des caractères spéciaux comme l'apostrophe ce qui va modifier ta requête SQL. Regarde plutôt les PreparedStatement.
HASSABALLAH
Messages postés
38
Date d'inscription
jeudi 29 mars 2012
Statut
Membre
Dernière intervention
26 mai 2015
> KX
Messages postés
16110
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
13 février 2020

puis je avoir un exemple pour mieux cerner les choses Merci