Java access
hessaid
Messages postés
1
Statut
Membre
-
twister9458 -
twister9458 -
Bonjour,
mon peobleme et le suivant:
je veux afficher des informations d'une base des donnees Access, ma table est nommée:Tab_Client et contient 2 colonnes:ID_Client et Nom_Client.en plus je veux inserer des enregistrements.voici mon code:
import javax.swing.*; // Pour les composant Swing
import javax.swing.table.*; // Pour la classe AbstractTableModel
import java.awt.event.*; // Pour l'action sur le bouton
import java.sql.*; // Pour les rêquetes SQL
public class InterfaceApplication extends JFrame implements ActionListener {
public InterfaceApplication () {
super ("Table Client");
setBounds (50, 50, 300, 300);
setResizable (false);
setDefaultCloseOperation (EXIT_ON_CLOSE);
getContentPane ().setLayout(null);
clientTable = new JTable (5, 2);
clientTable .setBounds(20, 20, 250, 80);
clientTable .setEnabled (false);
tableHandler = new TableHandler ();
clientTable .setModel (tableHandler);
clientIDLabel = new JLabel("Identifiant du client :");
clientIDLabel .setLocation(20, 140);
clientIDLabel .setSize(clientIDLabel.getPreferredSize ());
clientNameLabel = new JLabel("Nom du client :");
clientNameLabel .setLocation(20, 170);
clientNameLabel .setSize(clientNameLabel.getPreferredSize ());
clientIDField = new JTextField();
clientIDField .setBounds(140, 140, 140, 20);
clientNameField = new JTextField();
clientNameField .setBounds(140, 170, 140, 20);
submitButton = new JButton("Valider");
submitButton .setBounds(50, 220, 190, 30);
getContentPane ().add(clientTable);
getContentPane ().add(clientIDLabel);
getContentPane ().add(clientNameLabel);
getContentPane ().add(clientIDField);
getContentPane ().add(clientNameField);
getContentPane ().add(submitButton);
setVisible (true);
}
public void actionPerformed (ActionEvent event) {
String name = clientNameField.getText();
String id = clientIDField.getText();
// Ne pas insérer des données vides
if ((id.length () > 0) & (name.length() > 0)) {
try
{
Connection connection;
connection = DriverManager.getConnection("jdbc:odbc:Vins");
Statement myStatement = connection.createStatement();
myStatement.executeUpdate("INSERT INTO Tab_Client VALUES (" + id + "," + name + ")");
connection.close();
}
catch (SQLException e)
{
System.out.println(e);
}
// Faire un mise à jour du contenu du JTable
tableHandler .updateClientTable();
}
}
public static void main (String [] args) {
InterfaceApplication App = new InterfaceApplication ();
return ;
}
private JTable clientTable;
private JLabel clientIDLabel;
private JLabel clientNameLabel;
private JTextField clientIDField;
private JTextField clientNameField;
private JButton submitButton;
private TableHandler tableHandler;
// Initialiser les pilotes
// ça se faire dans le main
static {
try {
Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (ClassNotFoundException e) {
System.out.println ("Erreur : " + e.getMessage ());
System.exit (1);
}
}
}
class TableHandler extends AbstractTableModel {
private String [][] data = new String [MAX_ROWS][MAX_COLUMNS];
private static final int MAX_ROWS = 5;
private static final int MAX_COLUMNS = 2;
// Méthode que j'ajoute pour afficher 5 enregistrement
// Par ordre décroissant
public void updateClientTable () {
try {
// Etablir une connexion à la base de donnée
Connection connection;
connection = DriverManager.getConnection ("jdbc:odbc:Vins");
Statement myStatement = connection.createStatement();
ResultSet rs = myStatement.executeQuery("SELECT* FROM Tab_Client ORDER BY ID_Client DESC LIMIT " + MAX_ROWS);
int row = 0;
while (rs.next())
{
data [row][0] = rs.getString("ID_Client");
data [row][1] = rs.getString("Nom_Client");
row++;
}
// Fermer la connection
connection.close();
// Informer la table qu'il y a de nouvelles données
fireTableDataChanged();
}
catch (SQLException e) {
System.out.println ("Erreur : " + e.getMessage ());
System.exit (1);
}
}
// Méthode abstraite de AbstractTableModel
public int getColumnCount()
{
return MAX_COLUMNS;
}
// Méthode abstraite de AbstractTableModel
public int getRowCount()
{
return MAX_ROWS;
}
// Méthode abstraite de AbstractTableModel
public Object getValueAt(int row, int column)
{
return data[row][column];
}
}
à la fois qu'il est executé, il affiche rien dans le tableau,
merci d'avance
mon peobleme et le suivant:
je veux afficher des informations d'une base des donnees Access, ma table est nommée:Tab_Client et contient 2 colonnes:ID_Client et Nom_Client.en plus je veux inserer des enregistrements.voici mon code:
import javax.swing.*; // Pour les composant Swing
import javax.swing.table.*; // Pour la classe AbstractTableModel
import java.awt.event.*; // Pour l'action sur le bouton
import java.sql.*; // Pour les rêquetes SQL
public class InterfaceApplication extends JFrame implements ActionListener {
public InterfaceApplication () {
super ("Table Client");
setBounds (50, 50, 300, 300);
setResizable (false);
setDefaultCloseOperation (EXIT_ON_CLOSE);
getContentPane ().setLayout(null);
clientTable = new JTable (5, 2);
clientTable .setBounds(20, 20, 250, 80);
clientTable .setEnabled (false);
tableHandler = new TableHandler ();
clientTable .setModel (tableHandler);
clientIDLabel = new JLabel("Identifiant du client :");
clientIDLabel .setLocation(20, 140);
clientIDLabel .setSize(clientIDLabel.getPreferredSize ());
clientNameLabel = new JLabel("Nom du client :");
clientNameLabel .setLocation(20, 170);
clientNameLabel .setSize(clientNameLabel.getPreferredSize ());
clientIDField = new JTextField();
clientIDField .setBounds(140, 140, 140, 20);
clientNameField = new JTextField();
clientNameField .setBounds(140, 170, 140, 20);
submitButton = new JButton("Valider");
submitButton .setBounds(50, 220, 190, 30);
getContentPane ().add(clientTable);
getContentPane ().add(clientIDLabel);
getContentPane ().add(clientNameLabel);
getContentPane ().add(clientIDField);
getContentPane ().add(clientNameField);
getContentPane ().add(submitButton);
setVisible (true);
}
public void actionPerformed (ActionEvent event) {
String name = clientNameField.getText();
String id = clientIDField.getText();
// Ne pas insérer des données vides
if ((id.length () > 0) & (name.length() > 0)) {
try
{
Connection connection;
connection = DriverManager.getConnection("jdbc:odbc:Vins");
Statement myStatement = connection.createStatement();
myStatement.executeUpdate("INSERT INTO Tab_Client VALUES (" + id + "," + name + ")");
connection.close();
}
catch (SQLException e)
{
System.out.println(e);
}
// Faire un mise à jour du contenu du JTable
tableHandler .updateClientTable();
}
}
public static void main (String [] args) {
InterfaceApplication App = new InterfaceApplication ();
return ;
}
private JTable clientTable;
private JLabel clientIDLabel;
private JLabel clientNameLabel;
private JTextField clientIDField;
private JTextField clientNameField;
private JButton submitButton;
private TableHandler tableHandler;
// Initialiser les pilotes
// ça se faire dans le main
static {
try {
Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (ClassNotFoundException e) {
System.out.println ("Erreur : " + e.getMessage ());
System.exit (1);
}
}
}
class TableHandler extends AbstractTableModel {
private String [][] data = new String [MAX_ROWS][MAX_COLUMNS];
private static final int MAX_ROWS = 5;
private static final int MAX_COLUMNS = 2;
// Méthode que j'ajoute pour afficher 5 enregistrement
// Par ordre décroissant
public void updateClientTable () {
try {
// Etablir une connexion à la base de donnée
Connection connection;
connection = DriverManager.getConnection ("jdbc:odbc:Vins");
Statement myStatement = connection.createStatement();
ResultSet rs = myStatement.executeQuery("SELECT* FROM Tab_Client ORDER BY ID_Client DESC LIMIT " + MAX_ROWS);
int row = 0;
while (rs.next())
{
data [row][0] = rs.getString("ID_Client");
data [row][1] = rs.getString("Nom_Client");
row++;
}
// Fermer la connection
connection.close();
// Informer la table qu'il y a de nouvelles données
fireTableDataChanged();
}
catch (SQLException e) {
System.out.println ("Erreur : " + e.getMessage ());
System.exit (1);
}
}
// Méthode abstraite de AbstractTableModel
public int getColumnCount()
{
return MAX_COLUMNS;
}
// Méthode abstraite de AbstractTableModel
public int getRowCount()
{
return MAX_ROWS;
}
// Méthode abstraite de AbstractTableModel
public Object getValueAt(int row, int column)
{
return data[row][column];
}
}
à la fois qu'il est executé, il affiche rien dans le tableau,
merci d'avance
A voir également:
- Java access
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages