|
|
|
|
// librairie pour utiliser les classes pour la base de données
import java.sql.*;
import java.io.*;
import java.util.*;
public class SqlRequete
{
public SqlRequete()
{
}
public static void main(String[] args)
{
Connection connection;
BaseDeDonnee basededonnee = new BaseDeDonnee();
}
}
class BaseDeDonnee
{
Connection connection = null;
public BaseDeDonnee()
{
connexion();
affichage();
fin_connexion();
}
// Connexion à la base de donnees
public void connexion ()
{
try
{
// Chargement des drivers SQL
System.out.println("\n------------------------");
System.out.println("Connexion au driver JDBC.");
Class.forName("com.mysql.jdbc.Driver").newInstance();
System.out.println("Driver com.mysql.jdbc.Driver chargé.");
}
catch (ClassNotFoundException a)
{
System.out.println ("Driver non trouve.");
}
catch (Exception b)
{
System.out.println ("Problème sur chargement de driver JDBC.");
}
try
{
// Etablissement de la connexion avec la base
connection = DriverManager.getConnection("jdbc:mysql://localhost/test?user=root&password=");
System.out.println("Connexion a la base établie.");
System.out.println("------------------------\n");
}
catch (SQLException c)
{
System.out.println ("Connexion refuse ou base inconnu.");
}
catch (Exception d)
{
System.out.println ("Problème sur connexion.");
}
}
public void affichage()
{
//ResultSet rs = null;
try
{
// Exécution des requêtes
//Statement stmt = connection.createStatement();
//String requete = null;
//requete = "INSERT INTO `table` ( `champ` ) VALUES ( 'EGG' )";
//requete = "SELECT * FROM `table` ORDER BY `champ` ASC LIMIT 0 , 30";
//rs = stmt.executeQuery(requete);
Statement stmt = connection.createStatement() ;
String queryString = "INSERT INTO `table` ( `champ` ) VALUES ( 'EGG' )";
int update = stmt.executeUpdate(queryString);
System.out.println (update);
//while (rs.next())
// {
// Affichage les resultats de la requete SQL
//System.out.println("Champ : "+rs.getString(1));
//System.out.println("Prenom : "+rs.getString(2));
//System.out.println("Adresse : "+rs.getString(3));
//System.out.println("");
// }
}
catch (Exception d)
{
System.out.println ("Problème la requete.");
}
}
public void fin_connexion()
{
try
{
// Fermeture de la connexion
connection.close();
System.out.println("\n------------------------");
System.out.println ("Fermeture de connexion.");
System.out.println("------------------------\n");
}
catch (Exception d)
{
System.out.println ("Problème sur la fermeture de connexion.");
}
}
}Configuration: Windows XP Firefox 2.0.0.3
Je suis en train de developper une application ayant le meme but, voici la partie de code permettant de se connecter a une base de donnees pour effectuer une requete:
// STEP 1: get a connexion to the database:
Statement stmt;
ResultSet rs;
Class.forName("com.mysql.jdbc.Driver");
String url ="jdbc:mysql://localhost:3306/mabase";
Connection con = DriverManager.getConnection(url,"user", "password");
stmt = con.createStatement();
// STEP 2: perform operations on the database:
rs = stmt.executeQuery("SELECT * FROM table;");
// STEP 3: close the connexion to the database:
con.close();
Ce code fonctionne chez moi (le driver est charge), et me renvoie le resultat dans rs. Bien sur le tout est dans un try-catch pour recuperer les eventuels messages d'erreur. J'espere que ca pourra t'aider, @++ |
Essai d'inclure la librairie qui contient les connector mysql dans ton projet.
Je ne connais plus trop NetBeans puisque travaillant sans Eclipse, mais ca doit être similaire. Tu dois pouvoir configurer les librairies à incorporer dans le CLASSPATH de ton projet. Donc trouve comme atteindre ce panneau de configuration et inclu le jar mysql de manière à ce qu'il soit connu de ton projet. ~ N'oubliez pas la balise "Résolu" lorsque votre problème est... résolu :) ~
|
Copie le driver dans C:\Sun\SDK\jdk\jre\lib\ext également. |
Rebonjour,
Le code que j'ai indique dans le second message de ce topic fonctionne parfaitement quand je le compile/execute a partir de JCreator (alors que je n'ai rien configure de particulier), mais j'ai tente de l'executer "manuellement" dans la console et j'obtiens systematiquement une erreur au niveau du chargement du pilote mysql. (c'est la ligne "Class.forName("com.mysql.jdbc.Driver");" qui pose probleme) Sauriez vous quelle est la solution pour pouvoir executer mon programme a partir de la console ? Dois-je ajouter une variable d'environnement, ajouter des options a la ligne de commande, ou autre ? Merci beaucoup ! |
salut, tous ces progs marche bien
mais il faut just ajouter le driver ou .jar (de mysql) a votre projet netbeans dans "libraries->Add Jar/Folder". |
Bonjour , je sais pas trop ou mettre la base de donnée ,jai le pilote qui faut ,
CA C:\Program Files\EasyPHP1-8\www\projet EGAL A CA "jdbc:mysql://localhost//"+ projet; ? svp String url = "jdbc:mysql://localhost//"+ projet; jai un probleme à ce niveau la DriverManager.getConnection(url,"root",""); , jai besoi votre aide ,svp |
slt, merci beaucoupe pour les information indqiuer la, j ai rsuiisi a ajouter le conector sur mon projet grace a vous, en fait pour ajouter le connector sur un prjet netbeenes sur netbeenes lui meme clique droit sur ton projet puis tu fait proporities apres tu choisis libraries, apres tu fait ajouter (ADD JAR folder) et tu le donne le chemein ou se trouve ton conector java ou il y un fichier .jar et tu fait ok et sa va marcher voila le coode qu j ai utliser et sa marche
public static void main(String[] args) throws SQLException { Statement stmt; ResultSet rs; try{ Class.forName("com.mysql.jdbc.Driver"); String url ="jdbc:mysql://localhost:3306/tonbase"; Connection con = DriverManager.getConnection(url,"root", "ton mode passe si tu en as"); stmt = con.createStatement(); // STEP 2: perform operations on the database: rs = stmt.executeQuery("SELECT * FROM cordonnes;"); while(rs.next()){ System.out.println(rs.getString(1)+rs.getString(2)+rs.getString(3)+rs.getString(4)+rs.getString(5)+rs.getString(6)); } // STEP 3: close the connexion to the database: con.close(); } catch (ClassNotFoundException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); } } |
j'ai executé ton code ,le chargement du driver ,la connexion a la base cava maisil me renvoi une erreur de requete de l'insersion ,verife la requete de l'insertion
|
package ConnectionBd;
import java.sql.*; //comprend tous les objet et méthode permettant d'utiliser une base de donnée /**classe qui permet de se connecter à la base de donnée fait partie du package ConnectionBd */ public class CtrlBD { /**objet de connection à la BD */ private static Connection m_con; /**objet permettant d'effectuer des requêtes*/ private static Statement requete; /**variable permettant de savoir si on est connecté à une BD*/ private static boolean connected = false; /**Fct de connection à la BD, valide la connection en mettant la variable connected à vrai.*/ public static void openConnection(String source) { try { Class.forName("com.mysql.jdbc.Driver"); //chargement du pilote jdbc } catch (ClassNotFoundException classe) { System.out.println("pas su charger le pilote"); } if (source != null) //si la source existe { String url = "jdbc:mysql://localhost:3306/"+ source; try { m_con = DriverManager.getConnection(url,"root",""); requete = m_con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); //on peut parcourir le résultat dans les 2 sens, insensible aux chgmts d'autrui //on peut modifier ce r ésultat pour ensuite reporter ces modifs ds la table (updateRow) m_con.setAutoCommit(false); // c'est nous qui décidons quand on exécute réellement la requête connected = true; } catch (SQLException e) { System.out.println("erreur ici"); Utilitaire.Fichier.enregistreErreur(e.toString()); } } else Utilitaire.Fichier.enregistreErreur("Source non renseignee!!\n"); } /**retourne le résultat de la requète*/ public static ResultSet selectQuery(String query) { ResultSet m_rs = null; //récupére les données en provenance de l'objet Statement if (connected) try { m_rs = requete.executeQuery(query); } catch (SQLException e) { System.out.println("SQLException: " + e.getMessage()); Utilitaire.Fichier.enregistreErreur(e.toString()); } else Utilitaire.Fichier.enregistreErreur("Objet non connecte! Echec fct."); return m_rs; } /**Ferme la connection. Indispensable pour que les mises à jour soient effectuées !!*/ public static void closeConnection() { try { m_con.commit(); m_con.close(); } catch (SQLException e) { Utilitaire.Fichier.enregistreErreur(e.toString()); } } /**Retourne l'état de l'objet:connecté/déconnecté */ public static boolean isConnected() { return connected; } /**Permet d'exécuter une requêtes d'action.*/ public static boolean actionQuery(String query) { boolean b = false; try { requete.executeUpdate(query); b = true; m_con.commit(); // force à exécuter la requête sur la BD } catch (SQLException e) { Utilitaire.Fichier.enregistreErreur(e.toString() + " \tEchec Maj"); } System.out.print(b); return b; } } /////////////////////////////////////appel dans une autre classe la classe connection CtrlBD.openConnection("projet"); //projet est le nom de ma base de donnée //ouvre la connection if (CtrlBD.isConnected() == false) JOptionPane.showMessageDialog(null, "Pas de connection à la Base de données"); |
je trouve un pb ac la connexion a ma base de donner , netbeans me retourne "unable to add connexion cannot establish a connexion to 'jdbc:mysql://localhost:3306/messagerie'using com.mysql.jdbc.Driver (acces refusé pr l'utilisateur 'root'@'@'localhost' mot de passe :OUI);
aidez moi svp
|
Bonjour,
esra, simo et esrayoruk, Si vous ne pouvez pas vous connecter à votre base de données et que le message que vous avez stipule qu'il faut un mot de passe pour le user 'root', c'est simplement parce que le user 'root' sur votre base de données est configuré avec un mot de passe. Or, dans l'instruction suivante : m_con = DriverManager.getConnection(url,"root",""); On voit bien qu'aucun mot de passe n'est passé en paramètre. Il faut donc que vous alliez voir le mot de passe root sur le panneau d'administration de votre base de données, ou alors que créer carrément un nouveau user en - cette fois - notant quelque part le mot de passe pour ne pas le perdre ;) Ensuite il ne restera plus qu'à modifier vos paramètres de connexion dans le programme java et tester de nouveau tout ça. ~ N'oubliez pas la balise "Résolu" lorsque votre problème est... résolu :) ~ |
Moi jai aucun probleme ,jai reussis à me connecter, t as possé une question juste avant ce pour repondre a ca , merci comme meme :) |
merci bcp pour votre aide, g trouvé ou etai le pb , le pb residai ds le mot de passe et le loin , paske g crée ma basede donnée a l'aide de easy php et lui il est confuguré pour un login ="root" et aucun mot de passe, en plus de sa l'url de ma base donnée il fallai le changer oci paske g utilisai easy php. merci tt le monde |
Bonjour,
J'ai l'exception "Exception in thread "main" java.lang.NoClassDefFoundError: org/aspectj/lang/Signature at java.lang.Class.forName0(Native Method)" à cause de mon Class.ForName("com.mysql.jdbc.Driver"), et je ne comprend pas pourquoi. Quelqu'un aurait une solution? Merci ^^. |
Ah c'est bon j'ai trouvé la solution!!!
En fait il y avait un ancien .jar qui était dans mes librairies et c'est pour ça que je n'arrivait pas à me connecter à ma base MySQL. Leçon: NE JAMAIS METTRE 2 FICHIERS JAR DU MEME TYPE DANS LA MEME LIBRAIRIE. ^^ |
Essayes d’insérer la ligne Class.forName("com.mysql.jdbc.Driver"); dans init()
Comment ceci /** Initializes the applet NewFace */ public void init() { try { Class.forName("com.mysql.jdbc.Driver"); java.awt.EventQueue.invokeAndWait(new Runnable() { public void run() { initComponents(); } }); } catch (Exception ex) { ex.printStackTrace(); } } Sa doit marcher |
Résultats pour [JAVA] probleme driver MySQL avec netbeans
Résultats pour [JAVA] probleme driver MySQL avec netbeans
Résultats pour [JAVA] probleme driver MySQL avec netbeans
Résultats pour [JAVA] probleme driver MySQL avec netbeans
Résultats pour [JAVA] probleme driver MySQL avec netbeans
Résultats pour [JAVA] probleme driver MySQL avec netbeans