Tout d'abord je précise que j'ai déjà effectué une recherche sur internet (et ici bien sûr) qui m'a aider à créer une connection à ma BDD MySQL, j'arrive aussi a executer des insertion, et des suppression...
En fait ma méthode exec() marche, mais ma méthode query() renvoi un objet de type ResultSet, mais celui-ci est constament vide...
protectedString host = null; // url vers la base protectedString base = null; // nom de la Base protectedString login = null; // Login protectedString password = null; // Password
Et le code de la Classe MySQL qui étend la Classe BDD, et qui permet d'acceder à une BDD MySQL (j'ai une autre classe Access, qui elle semble marcher..).
package Persistant;
import java.sql.*;
publicclass Mysql extends BDD {
/******************
* Constructeur *
******************/ public Mysql (String host, String base, String login, String mdp){
super(host, base, login, mdp); }
public Mysql (String base, String login, String mdp){
super("//localhost:3306/", base, login, mdp); }
/*********************************
* Connection/Deconnection BDD *
*********************************/ protectedvoid connecter(){ try{ Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection("jdbc:mysql:"+host+base,login,password);
statement = connection.createStatement(); System.out.println("Connexion Mysql Réussie."); } catch(SQLException e){ System.err.println("Connexion Mysql Echouée."); } catch(ClassNotFoundException e){ System.err.println("Pilote Mysql non trouvé."); } }
protectedvoid deconnecter(){ try{
connection.close(); System.out.println("Déconnexion Mysql Réussie."); } catch(SQLException e){ System.err.println("Déconnexion Mysql Echouée."); } }
/********************************
* Accès à la Base de Données *
********************************/ protectedvoid exec(String sql){ try{
statement.executeUpdate(sql); System.out.println(" Requete -> succès :\n " + sql); } catch(SQLException e){ System.err.println(" Requete -> erreur :\n " + sql); } }
En fait, je ne sais pense pas que dans le code BDD que se situe le problème... mais plutot dans le méthode query de MySQL, néanmoins il peut y avoir un problème de driver utilisé... En effet, j'utilise le driver mysql disponible dans le package com.mysql.jdbc.*; et dans le classe BDD, je traite le Resultat de la requete comme s'il était un ResultSet du package java.sql.*; ...
En fait, il s'agissait d'une bête erreur, je tentais de récupérer la chaine 0 d'un ResultSet...
Or, pour pas faire comme tout le monde, et surtout comme les tableaux où la première case est à l'index 0, dans un resultSet la première case est à l'index 1...
[JAVA] MySQL récupérer une requete...
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.