IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Requête SQL parametrée


Sujet :

Java

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Requête SQL parametrée
    je suis en train d'écrire un programme en java mais j'ai un sérieux problème avec mes requêtes sql.
    voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
     
    import java.sql.*;
     
     
    public class Abonne
    {
    	public Abonne(String id, String nom)
    	{
    		this.id_abonne = id;
    		this.nom_abonne = nom;
    	}
     
    	public Abonne()
    	{
     
    	}
     
    	public void enregistrerAbonne()
    	{
    		try
    		{
    			Statement state = new ConnectionBD().getConnection().createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
    			System.out.println("ok");
    			ResultSet rset = state.executeQuery("select * from abonne");
    			rset.moveToInsertRow();
    			rset.updateString("id_abonne", this.id_abonne);
    			rset.updateString("nom_abonne", this.nom_abonne);
    			rset.insertRow();
    			System.out.println("ok");
    		}catch(Exception e)
    		{
    			System.out.println(e);
    		}
     
    	}
    	public void supprimerabonne(String nom)
    	{
    		try{
    			Statement state = new ConnectionBD().getConnection().createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
    			System.out.println("ok");
    			ResultSet rset = state.executeQuery("select * from abonne where nom_abonne like "+nom+"");
    			System.out.println("ok");
    			rset.first();
    			rset.deleteRow();
    			System.out.println("propre");
    		}catch(Exception e)
    		{
    			System.out.println(e);
    		}
    	}
     
    	public static void main(String[] paramater)
    	{
    		new Abonne("542315","Coucou").supprimerabonne("Coucou");
     
    	}
    	private String id_abonne = null;
    	private String nom_abonne = null;
    }
     
    import java.sql.*;
    public class ConnectionBD 
    {
    	public ConnectionBD()
    	{
    		try
    		{
    			Class.forName("com.mysql.jdbc.Driver");
    			connect = DriverManager.getConnection(url, user, passwrd);
    		}catch(Exception e)
    		{
    			System.out.println(e);
    		}
     
    	}
     
    	public Connection getConnection()
    	{
    		return this.connect;
    	}
    	private static Connection connect;
    	private String url="jdbc:mysql://localhost:3306/test";
    	private String user ="root";
    	private String passwrd =null;
    }
    pardonner dites moi ce qui ne va pas dans ce code.

  2. #2
    Membre régulier
    Homme Profil pro
    Ingénieur TIC
    Inscrit en
    Mars 2010
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur TIC
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2010
    Messages : 93
    Points : 97
    Points
    97
    Par défaut
    Bonjour LeKaïzen210,

    à première vue de tes requêtes je pense qu'il faut plutôt essayer ça :

    "select * from abonne where nom_abonne like '"+nom+"' "
    Mais si tu veux quand sache ou est ton problème essaye de poster l'exception ou l'erreur que ton code retourne.

    Merci

  3. #3
    Membre confirmé Avatar de NicoL__
    Homme Profil pro
    Architecte
    Inscrit en
    Janvier 2011
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Janvier 2011
    Messages : 399
    Points : 577
    Points
    577
    Par défaut
    En JDBC faut utiliser les preparedstatment et passer les variable proprement, c'est à dire sans faire de la concaténation de chaines de caractères, sur le FAQ JDB quie est sur le site :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    String sql = "UPDATE Stocks SET prix = ?, quantite = ? WHERE nom = ?";
    //préparation de la requête
    PreparedStatement preparedStatement = connection.prepareStatement(sql);
    //on assigne un décimal au premier paramètre
    preparedStatement.setBigDecimal(1,15.6);
    //on assigne un entier au second paramètre
    preparedStatement.setIntl(2,256);
    //on assigne une chaîne de caractères au troisième
    preparedStatement.setStringl(3,"café");
    //exécution de la requête
    preparedStatement.executeUpdate();

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/08/2012, 15h57
  2. [Débutant] requête SQL parametrée
    Par adrien1 dans le forum VB.NET
    Réponses: 4
    Dernier message: 07/06/2012, 16h21
  3. Requête SQL parametrée
    Par marcolo21 dans le forum ASP
    Réponses: 3
    Dernier message: 05/11/2010, 09h19
  4. Comment parametrer une requête SQL alimentant un Report sous VB6
    Par juldace dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 29/07/2008, 14h36
  5. Parametres de requête SQL Oracle
    Par gunbol dans le forum Oracle
    Réponses: 2
    Dernier message: 19/02/2008, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo