Récupérer la valeur nouvelle d'un JTextField
je desirais faire une app java qui se connecte a une base et j'ai un blem quand j'opere les insertion.
Ainsi quand j'insere une premiere fois la recuperation du Jtextfield par getText() l'insertion de cette attribu se passe convenable dan la base mai si je reprend la mm opération apres avoir terminer la premiere.
la base va inserer ce tuple mai la valeur du jTextFiel recupere par la methode getText() renvoie un chaine vide voici le code.
//
query="insert into commission (Designation_SECTION) values ('"+name_section.getText()+"')";
int nbline=obj_base.ajout_commission(query);
//
a noter ajout_commission est une methode de la classe obj_base que j'ai defini pour traiter tt ce qui est relatif avec l'interaction avec la base
Récupérer la valeur nouvelle d'un JTextField
Citation:
Envoyé par
MasterMbg
Bonjour,
Utlise toujours la balise code pour faciliter la lecture de tes lignes de code ;).
Une bonne habitude consiste à utiliser des requêtes paramètrées en faisant appel à la classe PreparedStatement.
Un autre problème, tu ne nous présentes pas la classe "obj_base" dans laquelle tu traites tout ce qui est relatif à l'interaction avec ta base de données. Ce qui pourrait nous empêcher de t'apporter suffisament de l'aide.:(
voici la classe obj_base avec ses methodes
Code:
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 86 87 88 89 90 91
|
/**
*
*/
/**
* @author momo
*
*/
package com.base;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import com.mysql.jdbc.*;
import javax.swing.JPasswordField;
public class Interaction_base // definition d'une classe nous permettant d'implementer les traitement avec une base de donnees
{
private java.sql.Connection conect;//creation d'un attribut permettant d'assurer la connexion avec la baseee
private Statement state;//creation d'un attribut permettant d'executer les instruction sql
private ResultSetRow resultat;//creation d'un attribut permettant de recueperer et afficher les donnees
private ResultSetMetaData metadonnees;//creation d'un attribut permettant de recueperer les infos globales du resultat de la requete
//(nombre de colonnes,nom des colonnes,type de donnees sur chaque colonne,table de la colonne )
private int result_up_del;//attribut renvoyant le nombre de ligne affectes par la mise a jour
public boolean charge_driver(boolean nice)// constructeur
{
try
{
Class.forName("com.mysql.jdbc.Driver");//chargement du driver pour MySQL et ConnectorJ
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
nice=false;
}
return nice;
}
public boolean ouvrirconnection(boolean ok,String user, String motpass) // methode permettant d'ouvrir une connection a la base de donnees
{
String url="jdbc:mysql://127.0.0.1:3306/couloir";// url contient le pilote du driver et la base et le mode de connection ainsi que le port
try
{
conect=DriverManager.getConnection(url,user,motpass);
}
catch (SQLException e)
{
ok=false;// booleen pour verifier si la connection s'est bien passee
e.printStackTrace();
}
return ok; //retour du booleen
}
public int ajout_commission(String query) // methode executant des insert
{
try
{
state=conect.createStatement();
result_up_del=state.executeUpdate(query);
state.close();// on ferme la requete
}
catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return result_up_del; // on retourne le nb lignes affectees par la requete
}
public void mise_a_jour(String requete) // methode executant des UPDATE et DELETE
{
try
{
state=conect.createStatement();
}
catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
try
{
result_up_del=state.executeUpdate(requete);
}
catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
( |
mon probleme se situe au niveau de la recuperation de la valeur nouvelle du JtextField qui est une chaine vide avant le passage par parametre de la requete