erreur pour créer une jTable netbeans pour afficher ma table de BDD
Bonjour,
Je suis face à une nouvelle difficulté, je veux afficher ma BDD dans mon interface netbeans.
J'ai une erreur concernant la création d'un état comme suit: Statement state = connect.createStatement
Je ne comprends pas car j'avais déjà utilisé cette syntaxe dans une appli similaire et je n'avais pas une telle difficulté!
mon erreur: lignes 4 à 8
error: cannot find symbol
Statement state = connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY))
symbol: method createStatement(int,int)
location: variable connect of type Connection_serv
1 error
Voici mon code:
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
| private void but_voir_TableActionPerformed(java.awt.event.ActionEvent evt)
{
try
( //Création d'un objet Statement
Statement state = connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY))
//state = état et Statement = déclaration
{
try
(
//On récupère les MetaData
//L'objet result contient le résultat de la requête SQL
ResultSet result = state.executeQuery("SELECT * FROM renseignements ORDER BY id"))
{
int i = 0; //variable pour l'incrémentation de while
int k = 0;// variable utiliser pour obtenir le nombre de rangées
if(result.next()){ //passe le curseur à l'élément suivant ;
result.first(); //passe le curseur sur le premier élément
result.last(); //last : passe le curseur sur le dernier élément ;
k = result.getRow(); //résultat.pour obtenir le nombre de rangées de la table
result.beforeFirst(); // passe le curseur avant le premier élément (position par défaut du curseur) ;
}
Object[][] t = new Object[k][7]; //déclaration d'un tableau Object double
//on met le resultat de la requete dans un tableau
//la boucle ci-dessous affiche les données de 6 colonnes (j'en ai 6)
//si je supprime une ligne de cette boucle j'obtiens un NULL sur une donnée de la colonne concernée.
while (result.next()){
t[i][0]=result.getInt(1); //résultat.obtenir un int
t[i][1]=result.getString(2); //résultat.obtenir un String
t[i][2]=result.getString(3);
t[i][3]=result.getString(4);
t[i][4]=result.getString(5);
t[i][5]=result.getString(6);
t[i][6]=result.getString(7);
i++;
}
//fenêtre pour afficher la jTable
JFrame voirtable = new JFrame( "Table renseignements" );
//Merci à joel.drigo****Affichage des colonnes table dans la jTable**********************************
String[] columns = {"id","nom","prenom","telephone","courriel","portable","adresse"};
//****Affichage des données lignes de la table contenu dans la jTable**********************************
DefaultTableModel tableModel = new DefaultTableModel(t, columns);
JTable table = new JTable(tableModel);
//configuration de jPanel et table
JPanel jPanel; //déclare l'objet jPanel
jPanel = new JPanel(new FlowLayout()); //organisation du layout manager
jPanel.setOpaque(true); // rend le Panel opaque
jPanel.setBackground(Color.CYAN);// la couleur ne s'affiche pas pour l'instant
table.setPreferredScrollableViewportSize(new Dimension(700, 150));//dimension de la table
jPanel.add(new JScrollPane(table));
voirtable.add(jPanel); //ajoute le jPanel à la fenêtre "voirtable"
voirtable.pack(); //permet d'ajuster la taille en fonction des composants
voirtable.setVisible(true); //rend la fenêtre voirtable visible pour qu'elle s'affiche
voirtable.setSize(800, 350);
voirtable.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //ferme mon application
}
state.close(); //state.close (veut dire state (état.fermé)
}
catch (SQLException ex) {
Logger.getLogger(Interface_Utili.class.getName()).log(Level.SEVERE, null, ex);
}
} |
Merci de bien vouloir m'épauler
cordialement
rapidego
erreur pour créer une jTable
Bonjour
Merci de me répondre.
Concernant la variable connect
La connection se fait et les données sont transmises dans postGres et également en retour dans le sens inverse.
Maintenant pour affichage de ma table dans un JTable.
pour info: j'avais réussi l'affichage dans une autre petite appli en codant de la même manière en utilisant la même variable connect.
ci-dessous le code avec lequel je me connecte
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
| package carnet_rep_tel;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;
/**
*
* @author rapidego
*/
public class Connection_serv
{
/**
* URL de connection
*/
private static String url = "jdbc:postgresql://localhost:5432/RepTelephone";
/**
* Nom du user
*/
private static String user = "postgres";
/**
* Mot de passe du user
*/
private static String passwd = "dbpass";
/**
* Objet Connection
*/
private static Connection connect;
/**
* Méthode qui va retourner notre instance
* et la créer si elle n'existe pas...
* @return
*/
public static Connection getInstance(){
if(connect == null){
try {
connect = DriverManager.getConnection(url, user, passwd);
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e.getMessage(), "ERREUR DE CONNEXION ! ", JOptionPane.ERROR_MESSAGE);
}
}
return connect;
}
} //fin de la classe Connection_serv |
Merci de m'épauler car là je ne vois pas de solution.
cordialement à +++
rapidego
erreur pour affichage d'une jtable de ma bdd
Citation:
Envoyé par
thelvin
Hello,
non ce n'est pas la même variable connect.
Je t'ai dit de vérifier le type de cette variable. Alors, vérifie le type de cette variable.
Bonsoir thelvin
Merci pour ton aide.
Je ne vois pas comment vérifier le type de ma variable.
Toutefois j'ai changé private static Connection connect; en public static Connection connect
Et j'ai modifié la ligne avec Statement et createStatement. comme ci-dessous
Code:
Statement voir = Connection_serv.connecter.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY))
Et maintenant ça fonctionne ma table s'affiche comme dans mon autre application que j'avais codée avec un DAO etc...
Mais explique moi SVP comment procéder pour le type de ma variable connect ?
Encore merci pour ton aide et à +++
cordialement
rapidego
erreur pour affichage jTable de ma bdd
Citation:
Envoyé par
thelvin
C'est simple :
quand tu as une variable Connection connect; la variable connect est de type Connection.
et quand tu as une variable Connection_serv connect; la variable connect est de type Connection_serv.
Contrairement à ce que tu dis dans ton dernier message, ta variable connect était de type Connection_serv. Alors que pour appeler createStatement() il faut une variable de type Connection.
Bonsoir thelvin,
Oui d'accord pour les int ou autre type.
Ma variable est public static Connection connecter;
Lorsque je code Statement voir = Connection_serv.connecter.createStatement cela passe.
Avec Statement voir = Connection .connecter.createStatement ça ne passe pas.
Toujours est-il que ça fonctionne.
Merci pour ton aide très cordialement à +++
rapidego