Bonsoir tout le monde aidez moi avec mes codes :toujours problèmes d'exécution
DEMBELEY
-
Modifié le 19 oct. 2020 à 21:04
DEMBELEY
Messages postés2Date d'inscriptiondimanche 18 octobre 2020StatutMembreDernière intervention20 octobre 2020
-
20 oct. 2020 à 00:36
Bonjour,
package Application;
import java.net.Socket;
import java.sql.*;
public class BDD {
// Les declarations
Connection connection;
Statement statement;
String SQL;
String url;
String username;
String password;
Socket client;
int port;
String host;
//ResultSet resultSet;
public BDD(String url,String username,String password,String host,int port ){
this.url=url;
this.username=username;
this.password=password;
this.host=host;
this.port=port;
}
//Fonction pour se connecter à la base de données
public Connection connexionDatabase(){
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Driver O.K.");
String url = "jdbc:mysql://localhost:3306/gestion_de_stock";
String user = "root";
String passwd = "";
java.sql.Connection connection = DriverManager.getConnection(url, user, passwd);
System.out.println("Connexion effective !");
} catch (Exception e) {
e.printStackTrace();
}
return connection;
}
//Fonction pour fermer la base de données
public Connection closeconnexion(){
try{
connection.close();
}catch(Exception e){ System.err.println(e);
}
return connection;
}
// Fonction pour l'execution de la requete
public ResultSet exécutionQuery(String sql){
connexionDatabase();
ResultSet resultSet = null;
try{
statement = connection.createStatement();
resultSet = statement.executeQuery(sql);
System.out.println(sql);
}catch(SQLException ex){
System.err.println(ex);
}
return resultSet;
}
//Fonction pour l'execution de la requete Update
public String exécutionUpdate(String sql){
connexionDatabase();
String result = "";
try{
statement = connection.createStatement();
statement.executeUpdate(sql);
result = sql;
}catch(SQLException ex){
result = ex.toString();
}
return result;
}
// Fonction pour afficher tous les champs de la table
public ResultSet querySelectorAll(String nomTable){
connexionDatabase();
SQL ="SELECT * FROM " + nomTable ;
System.out.println(SQL);
return this.exécutionQuery(SQL);
}
//Fonction pour tous afficher avec Paramettre (etat)
public ResultSet querySelectorAll(String nomTable, String etat){
connexionDatabase();
SQL ="SELECT * FROM " + nomTable + "WHERE" + etat ;
return this.exécutionQuery(SQL);
}
//
public ResultSet querySelect(String[] nomColonne,String nomTable){
connexionDatabase();
int i;
SQL = "SELECT";
for(i = 0; i <= nomColonne.length-1; i++){
SQL += nomColonne[i];
if (i < nomColonne.length-1){
SQL +=",";
}
}
SQL += "FROM" + nomTable;
return this.exécutionQuery(SQL);
}
//
public ResultSet FcSelectCommand(String[] nomColonne, String nomTable, String etat){
connexionDatabase() ;
int i;
SQL = "SELECT";
for(i = 0; i <= nomColonne.length-1 ; i++){
SQL += nomColonne[i];
if (i < nomColonne.length-1){
SQL +=",";
}
}
SQL += "FROM" + nomTable + "WHERE" + etat;
return this.exécutionQuery(SQL);
}
//Fonction d'insertion de données
public String queryInsert(String nomTable, String[] contenuTableau){
connexionDatabase();
int i;
SQL = "INSERT INTO" + nomTable + "VALUES (";
for(i = 0; i <= contenuTableau.length-1 ; i++){
SQL += "'" + contenuTableau[i] + "'";
if (i < contenuTableau.length-1){
SQL +=",";
}
}
SQL += ")";
return this.exécutionUpdate(SQL);
}
//
public String queryInsert(String nomTable, String[] nomColonne, String[] contenuTableau){
connexionDatabase();
int i;
SQL = "INSERT INTO" + nomTable + "(";
for(i = 0; i <= contenuTableau.length-1 ; i++){
SQL += contenuTableau[i];
if (i < contenuTableau.length-1){
SQL +=",";
}
}
SQL +=") VALUES(";
for(i = 0; i <= contenuTableau.length-1 ; i++){
SQL += "'" + contenuTableau[i] + "'";
if (i < contenuTableau.length-1){
SQL +=",";
}
}
SQL += ")";
return this.exécutionUpdate(SQL);
}
//
public String queryUpdate(String nomTable, String[] nomColonne, String[] contenuTableau, String etat){
connexionDatabase();
int i;
SQL = "UPDATE" + nomTable + "SET";
for(i = 0; i <= nomColonne.length-1 ; i++){
SQL += nomColonne[i] +"='" +contenuTableau[i] +"='";
if (i < nomColonne.length-1){
SQL +=",";
}
}
SQL += "WHERE" + etat;
return this.exécutionUpdate(SQL);
}
//Fonction de la requete Supprimer sans Parametre
public String queryDelete(String nomTable){
connexionDatabase();
SQL = "DELETE FROM" + nomTable;
return this.exécutionUpdate(SQL);
}
//Fonction de la requete Supprimer avec Parametre
public String queryDelete(String nomTable, String etat){
connexionDatabase();
SQL = "DELETE FROM" + nomTable +"WHERE" + etat;
return this.exécutionUpdate(SQL);
}
}
Les erreurs :
run:
Driver O.K.
Connexion effective !
Driver O.K.
Connexion effective !
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Application.BDD2.exécutionQuery(BDD2.java:71)
at Application.BDD2.querySelectorAll(BDD2.java:118)
at base_de_donnees.Login.jButton1ActionPerformed(Login.java:109)
at base_de_donnees.Login.access$200(Login.java:17)
at base_de_donnees.Login$3.actionPerformed(Login.java:81)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6533)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
A voir également:
Bonsoir tout le monde aidez moi avec mes codes :toujours problèmes d'exécution
Merci beaucoup pour vos réponses, je suis un débutant donc veuillez me comprendre.
je fait cela et maintenant c'est ce qui sort :
run:
Driver O.K.
Connexion effective !
Driver O.K.
Connexion effective !
SELECT * FROM utilisateur WHERE username = ' d ' and password = ' d '
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at base_de_donnees.Login.jButton1ActionPerformed(Login.java:131)
at base_de_donnees.Login.access$200(Login.java:17)
at base_de_donnees.Login$3.actionPerformed(Login.java:81)
//////////////////
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
rs = db.querySelectorAll(" utilisateur ", " username = ' "
+ txt_username.getText()
+ " ' and password = ' "
+txt_password.getText() + " ' ") ;
try{
while (rs.next()){
username1 = rs.getString("username");
password1 = rs.getString("password");
hak = rs.getString("type");
}
}catch(SQLException ex){
Logger.getLogger(Login.class.getName()).log(Level.SEVERE,null,ex);
}
if(username1 == "" && password1 == ""){
JOptionPane.showMessageDialog(this, "le nom utilisateur ou le mot de passe est incorrect");
} else {
if(hak.equals("directeur")){
Principale h = new Principale();
h.setVisible(true);
this.dispose();
}else{
Caissier k = new Caissier();
k.setVisible(true);
//this.dispose();
}
}
}
KX
Messages postés16705Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention 5 juin 2023126 19 oct. 2020 à 23:28
La trace de l'exception dit exactement où est le problème, c'est ligne 131, mais n'ayant pas le code exact je ne peux pas deviner à quelle instruction cela correspond, mais en général un NullPointerException se produit lorsque l'on fait quelque chose comme
x.y
alors que x vaut null, dans ce cas là correction consiste à donner une valeur à x.
DEMBELEY
Messages postés2Date d'inscriptiondimanche 18 octobre 2020StatutMembreDernière intervention20 octobre 2020
>
KX
Messages postés16705Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention 5 juin 2023 20 oct. 2020 à 00:36
D'accord une fois de plus 1000 merci . je vais essayer ça ,si vous voulez je vous envoie le programme en entier , vous permettant de voir clairement et on corrige ensemble mes erreurs de débutant