begin process at 2010 02 10 03:01:39
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

JDBC

 > UNE INTERFACE POUR MYSQL

UNE INTERFACE POUR MYSQL


 Information sur la source

Note :
6,33 / 10 - par 9 personnes
6,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :JDBC Niveau :Débutant Date de création :11/02/2004 Date de mise à jour :24/02/2004 22:52:03 Vu :15 742

Auteur : sam_troolcu

Ecrire un message privé
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
il s'agit d'une petite interface pour MySql,, on se connecte au driver jdbc (il faut l'avoir installé auparavant...). je me suis servi du code de qqn de ce site (je ne me souviens plus de son pseudo, j'espère qu'il m'excusera si il se reconnait) pour la JTable. Il est nécessaire de bien connaitre mysql. Ce truc a été fait avec netbeans.

Source

  • /*
  • * Main.java
  • *
  • * Created on 4 février 2004, 20:42
  • */
  • import java.sql.*;
  • import java.io.*;
  • import java.util.*;
  • import javax.swing.table.*;
  • import javax.swing.*;
  • import java.awt.*;
  • public class MySql extends javax.swing.JFrame {
  • Connection connection;
  • /** Creates new form Main */
  • public MySql() {
  • initComponents();
  • setSize(515,535);
  • this.setResizable(false);
  • }
  • /** This method is called from within the constructor to
  • * initialize the form.
  • * WARNING: Do NOT modify this code. The content of this method is
  • * always regenerated by the Form Editor.
  • */
  • private void initComponents() {//GEN-BEGIN:initComponents
  • jPanel1 = new javax.swing.JPanel();
  • jLabel1 = new javax.swing.JLabel();
  • jLabel2 = new javax.swing.JLabel();
  • jTextField1 = new javax.swing.JTextField();
  • jButton1 = new javax.swing.JButton();
  • jPasswordField1 = new javax.swing.JPasswordField();
  • jPanel2 = new javax.swing.JPanel();
  • jScrollPane2 = new javax.swing.JScrollPane();
  • jTextPane2 = new javax.swing.JTextPane();
  • jPanel3 = new javax.swing.JPanel();
  • jScrollPane1 = new javax.swing.JScrollPane();
  • jTextPane1 = new javax.swing.JTextPane();
  • jButton2 = new javax.swing.JButton();
  • jPanel4 = new javax.swing.JPanel();
  • jScrollPane3 = new javax.swing.JScrollPane();
  • jTable1 = new javax.swing.JTable();
  • jButton4 = new javax.swing.JButton();
  • jButton3 = new javax.swing.JButton();
  • jButton5 = new javax.swing.JButton();
  • jLabel3 = new javax.swing.JLabel();
  • getContentPane().setLayout(null);
  • setTitle("MySql interface");
  • addWindowListener(new java.awt.event.WindowAdapter() {
  • public void windowClosing(java.awt.event.WindowEvent evt) {
  • exitForm(evt);
  • }
  • });
  • jPanel1.setLayout(null);
  • jLabel1.setText("user");
  • jPanel1.add(jLabel1);
  • jLabel1.setBounds(10, 10, 40, 20);
  • jLabel2.setText("password");
  • jPanel1.add(jLabel2);
  • jLabel2.setBounds(130, 10, 70, 24);
  • jTextField1.setName("user");
  • jTextField1.setPreferredSize(new java.awt.Dimension(50, 25));
  • jPanel1.add(jTextField1);
  • jTextField1.setBounds(50, 10, 70, 25);
  • jButton1.setText("connect");
  • jButton1.addActionListener(new java.awt.event.ActionListener() {
  • public void actionPerformed(java.awt.event.ActionEvent evt) {
  • jButton1ActionPerformed(evt);
  • }
  • });
  • jPanel1.add(jButton1);
  • jButton1.setBounds(310, 10, 90, 30);
  • jPanel1.add(jPasswordField1);
  • jPasswordField1.setBounds(200, 10, 100, 28);
  • getContentPane().add(jPanel1);
  • jPanel1.setBounds(0, 0, 410, 40);
  • jPanel2.setLayout(new java.awt.BorderLayout());
  • jScrollPane2.setViewportView(jTextPane2);
  • jPanel2.add(jScrollPane2, java.awt.BorderLayout.CENTER);
  • getContentPane().add(jPanel2);
  • jPanel2.setBounds(10, 70, 490, 130);
  • jPanel3.setLayout(new java.awt.BorderLayout());
  • jScrollPane1.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
  • jTextPane1.setText("To connect, enter your username and password");
  • jScrollPane1.setViewportView(jTextPane1);
  • jPanel3.add(jScrollPane1, java.awt.BorderLayout.CENTER);
  • getContentPane().add(jPanel3);
  • jPanel3.setBounds(10, 380, 490, 100);
  • jButton2.setText("execute SQL");
  • jButton2.addActionListener(new java.awt.event.ActionListener() {
  • public void actionPerformed(java.awt.event.ActionEvent evt) {
  • jButton2ActionPerformed(evt);
  • }
  • });
  • getContentPane().add(jButton2);
  • jButton2.setBounds(290, 210, 110, 30);
  • jPanel4.setLayout(new java.awt.BorderLayout());
  • jScrollPane3.setBorder(new javax.swing.border.MatteBorder(null));
  • jTable1.setModel(new javax.swing.table.DefaultTableModel(
  • new Object [][] {
  • {null, null, null, null},
  • {null, null, null, null},
  • {null, null, null, null},
  • {null, null, null, null}
  • },
  • new String [] {
  • "Title 1", "Title 2", "Title 3", "Title 4"
  • }
  • ));
  • jScrollPane3.setViewportView(jTable1);
  • jPanel4.add(jScrollPane3, java.awt.BorderLayout.CENTER);
  • getContentPane().add(jPanel4);
  • jPanel4.setBounds(10, 250, 490, 120);
  • jButton4.setText("import SQL File");
  • jButton4.addActionListener(new java.awt.event.ActionListener() {
  • public void actionPerformed(java.awt.event.ActionEvent evt) {
  • OuvrirFichierActionPerformed(evt);
  • }
  • });
  • getContentPane().add(jButton4);
  • jButton4.setBounds(150, 210, 140, 30);
  • jButton3.setText("show databases");
  • jButton3.addActionListener(new java.awt.event.ActionListener() {
  • public void actionPerformed(java.awt.event.ActionEvent evt) {
  • jButton3ActionPerformed(evt);
  • }
  • });
  • getContentPane().add(jButton3);
  • jButton3.setBounds(10, 210, 140, 30);
  • jButton5.setText("quit");
  • jButton5.addActionListener(new java.awt.event.ActionListener() {
  • public void actionPerformed(java.awt.event.ActionEvent evt) {
  • quitterActionPerformed(evt);
  • }
  • });
  • getContentPane().add(jButton5);
  • jButton5.setBounds(440, 480, 60, 30);
  • jLabel3.setText("Write your SQL code here or import a file :");
  • getContentPane().add(jLabel3);
  • jLabel3.setBounds(10, 50, 270, 24);
  • pack();
  • }//GEN-END:initComponents
  • private void quitterActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_quitterActionPerformed
  • // Add your handling code here:
  • System.exit(0);
  • }//GEN-LAST:event_quitterActionPerformed
  • private void OuvrirFichierActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_OuvrirFichierActionPerformed
  • // Add your handling code here:
  • String currentDir=".";
  • String destination;
  • File selected;
  • JFileChooser chooser = new JFileChooser();
  • chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
  • File fdir = new File(currentDir);
  • chooser.setCurrentDirectory(fdir);
  • if(chooser.showDialog(this,"Choisir") == JFileChooser.APPROVE_OPTION) {
  • selected = chooser.getSelectedFile();
  • destination = new String(selected.getParent() + File.separatorChar + selected.getName());
  • currentDir = selected.getParent();
  • String s= lireFichier(destination);
  • jTextPane2.setText(s);
  • }
  • }//GEN-LAST:event_OuvrirFichierActionPerformed
  • private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
  • // Add your handling code here:
  • executerSQL("show databases");
  • }//GEN-LAST:event_jButton3ActionPerformed
  • private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
  • // Add your handling code here:
  • try{
  • String query=this.jTextPane2.getSelectedText().replace( '%', '`' );
  • if(connection==null) ecrireOut("you have to be identified to perform this operation");
  • else
  • {executerSQL(query);
  • if (query.startsWith("drop")||query.startsWith("create")) executerSQL("show tables");}
  • }
  • catch(NullPointerException excep){
  • ecrireOut("you have to select some code to execute");
  • }
  • }//GEN-LAST:event_jButton2ActionPerformed
  • void executerSQL(String query){
  • // executer le sql de la fenetre
  • if (connection==null) ecrireOut("you have to be identified to perform this operation");
  • try {
  • if ( connection == null ) {System.out.println("connection==null");return;}
  • Statement stm = connection.createStatement();
  • String catalog = connection.getCatalog();
  • String queryMaj = query.toUpperCase();
  • if ( ( queryMaj.trim().startsWith( "SELECT" ) )
  • || ( queryMaj.trim().startsWith( "DESCRIBE" ) )
  • || ( queryMaj.trim().startsWith( "SHOW" ) ) ) {
  • jTable1.removeAll();
  • ResultSet rs = stm.executeQuery( query );
  • ResultSetMetaData mdt = rs.getMetaData();
  • int num = mdt.getColumnCount();
  • DefaultTableModel df = new DefaultTableModel() {
  • public boolean isCellEditable( int row, int col )
  • { if ( (row>>1)<<1 == row ) return true; return false; } };
  • for ( int i = 0; i < num; i++ ) { df.addColumn( mdt.getColumnName( i + 1 ) ); }
  • jTable1.setModel( df );
  • TableCellRenderer tbcH = createDemoHeaderRenderer();
  • for ( int i = 0; i < num; i++ ) {
  • TableColumn tc = jTable1.getTableHeader().getColumnModel().getColumn( i );
  • tc.setHeaderRenderer( tbcH );
  • tc.setCellRenderer( new DemoCellRenderer() );
  • }
  • int line = 0;
  • while ( rs.next() ) {
  • Vector v = new Vector( 10 );
  • for ( int col = 0; col < num; col++ )
  • v.addElement( rs.getString( col + 1 ) );
  • df.addRow( v );
  • line++;
  • }
  • jTextPane1.setText( line + " rows selected");
  • rs.close();
  • }
  • else {
  • ecrireOut( "SQL executer : " + query );
  • stm.executeUpdate( query );
  • }
  • stm.close();
  • }
  • catch ( Exception e ) {
  • jTextPane1.setText( "\nError execute sql : " + e );
  • jTextPane1.setText( "sql : " + query );
  • }
  • }
  • void ecrireOut(String chaine){
  • jTextPane1.setText(chaine);
  • }
  • class DemoCellRenderer extends JLabel
  • implements TableCellRenderer {
  • boolean isBordered = true;
  • Color selectedForeground = null;
  • Color selectedBackground = null;
  • Color unselectedForegroundAlt = null;
  • Color unselectedBackgroundAlt = new Color( 200, 200, 200 );
  • Color unselectedForeground = null;
  • Color unselectedBackground = null;
  • public DemoCellRenderer() {
  • super();
  • setOpaque(true);
  • }
  • public Component getTableCellRendererComponent(
  • JTable table, Object val,
  • boolean isSelected, boolean hasFocus,
  • int row, int column) {
  • setAlignmentX( CENTER_ALIGNMENT );
  • Font f = getFont();
  • if ( isSelected ) {
  • setFont( new Font( f.getName(), Font.PLAIN|Font.ITALIC, f.getSize() ) );
  • super.setForeground( ( selectedForeground != null) ? selectedForeground : table.getSelectionForeground() );
  • super.setBackground( ( selectedBackground != null) ? selectedBackground : table.getSelectionBackground() );
  • }
  • else {
  • setFont( new Font( f.getName(), Font.PLAIN, f.getSize() ) );
  • if ( ((column)>>1)<<1 == column - (row-((row>>1)<<1)) ) {
  • super.setForeground( ( unselectedForegroundAlt != null) ? unselectedForegroundAlt : table.getForeground() );
  • super.setBackground( ( unselectedBackgroundAlt != null) ? unselectedBackgroundAlt : table.getBackground() );
  • }
  • else {
  • super.setForeground( ( unselectedForeground != null) ? unselectedForeground : table.getForeground() );
  • super.setBackground( ( unselectedBackground != null) ? unselectedBackground : table.getBackground() );
  • }
  • }
  • setText( (String)val );
  • return this;
  • }
  • }
  • Color foreColor = new Color( 0, 0, 50 );
  • Hashtable couleur = new Hashtable( 10 );
  • Color defoBack = new Color( 194, 194, 194);
  • private TableCellRenderer createDemoHeaderRenderer() {
  • DefaultTableCellRenderer label = new
  • DefaultTableCellRenderer() {
  • public Component getTableCellRendererComponent(JTable table, Object value,
  • boolean isSelected, boolean hasFocus, int row, int column) {
  • setText((value == null) ? "" : value.toString());
  • if (table != null) {
  • JTableHeader header = table.getTableHeader();
  • if (header != null) {
  • Color back = (Color)couleur.get( getText() );
  • setForeground( foreColor );
  • setBackground( (back==null)?defoBack:back );
  • setFont(header.getFont());
  • }
  • }
  • setBorder(UIManager.getBorder("TableHeader.cellBorder"));
  • return this;
  • }
  • };
  • label.setHorizontalAlignment(JLabel.CENTER);
  • return label;
  • }
  • private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
  • // Add your handling code here:
  • String user=jTextField1.getText();
  • char[] passwd=jPasswordField1.getPassword();
  • connect(user,passwd);
  • }//GEN-LAST:event_jButton1ActionPerformed
  • public void connect(String user,char[] passwd) {
  • String out=new String();
  • try {
  • String pass = new String(passwd);
  • if (user.compareTo("")==0)
  • {jTextPane1.setText("Enter a valid username/password please");
  • return;}
  • out="Connecting to the JDBC driver\n";
  • Class.forName("com.mysql.jdbc.Driver").newInstance();
  • out=out+"Driver com.mysql.jdbc.Driver loaded\n";
  • try {
  • out=out+"Connecting to database\n";
  • connection = DriverManager.getConnection("jdbc:mysql://localhost/test?user="+user +
  • "&password="+ pass);
  • out=out+"Database connected\n";
  • } catch (SQLException ex) {
  • out = out + "Your user/password is not correct, try again please";
  • }
  • } catch (Exception ex) {
  • jTextPane1.setText("Driver loading failed\n");
  • }
  • jTextPane1.setText(out);
  • }
  • String lireFichier(String fic) {
  • FileReader fr = null;
  • LineNumberReader reader = null;
  • try {
  • fr = new FileReader(fic);
  • reader = new LineNumberReader(fr);
  • }
  • catch (FileNotFoundException e) {
  • reader = null;
  • ecrireOut(fic+" (fichier introuvable)");
  • return("");
  • }
  • String res = "";
  • String line;
  • try {
  • for (;;) {
  • line = reader.readLine();
  • if (line == null) break;
  • res += line+"\r\n";
  • }
  • }
  • catch (IOException e) {
  • ecrireOut(fic+" (lecture imposible)");
  • }
  • try {
  • reader.close();
  • fr.close();
  • }
  • catch (IOException e) {
  • ecrireOut(fic+" (fermeture impossible)");
  • }
  • reader = null;
  • return(res);
  • }
  • /** Exit the Application */
  • private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm
  • try {
  • Toolkit.getDefaultToolkit().beep();
  • int reply = JOptionPane.showConfirmDialog(this,
  • "Do you really want to quit?",
  • "Interface MySql - Quit" ,
  • JOptionPane.YES_NO_OPTION,
  • JOptionPane.QUESTION_MESSAGE);
  • if (reply == JOptionPane.YES_OPTION) {
  • System.exit(0);
  • }
  • } catch (Exception e) {
  • }
  • }//GEN-LAST:event_exitForm
  • /**
  • * @param args the command line arguments
  • */
  • public static void main(String args[]) {
  • new MySql().show();
  • }
  • // Variables declaration - do not modify//GEN-BEGIN:variables
  • private javax.swing.JButton jButton1;
  • private javax.swing.JButton jButton2;
  • private javax.swing.JButton jButton3;
  • private javax.swing.JButton jButton4;
  • private javax.swing.JButton jButton5;
  • private javax.swing.JLabel jLabel1;
  • private javax.swing.JLabel jLabel2;
  • private javax.swing.JLabel jLabel3;
  • private javax.swing.JPanel jPanel1;
  • private javax.swing.JPanel jPanel2;
  • private javax.swing.JPanel jPanel3;
  • private javax.swing.JPanel jPanel4;
  • private javax.swing.JPasswordField jPasswordField1;
  • private javax.swing.JScrollPane jScrollPane1;
  • private javax.swing.JScrollPane jScrollPane2;
  • private javax.swing.JScrollPane jScrollPane3;
  • private javax.swing.JTable jTable1;
  • private javax.swing.JTextField jTextField1;
  • private javax.swing.JTextPane jTextPane1;
  • private javax.swing.JTextPane jTextPane2;
  • // End of variables declaration//GEN-END:variables
  • }
/*
 * Main.java
 *
 * Created on 4 février 2004, 20:42
 */
import java.sql.*;
import java.io.*;
import java.util.*;
import javax.swing.table.*;
import javax.swing.*;
import java.awt.*;

public class MySql extends javax.swing.JFrame {
    Connection connection;
    /** Creates new form Main */
    public MySql() {
        initComponents();
        setSize(515,535);
        this.setResizable(false);
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    private void initComponents() {//GEN-BEGIN:initComponents
        jPanel1 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jTextField1 = new javax.swing.JTextField();
        jButton1 = new javax.swing.JButton();
        jPasswordField1 = new javax.swing.JPasswordField();
        jPanel2 = new javax.swing.JPanel();
        jScrollPane2 = new javax.swing.JScrollPane();
        jTextPane2 = new javax.swing.JTextPane();
        jPanel3 = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTextPane1 = new javax.swing.JTextPane();
        jButton2 = new javax.swing.JButton();
        jPanel4 = new javax.swing.JPanel();
        jScrollPane3 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();
        jButton4 = new javax.swing.JButton();
        jButton3 = new javax.swing.JButton();
        jButton5 = new javax.swing.JButton();
        jLabel3 = new javax.swing.JLabel();

        getContentPane().setLayout(null);

        setTitle("MySql interface");
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                exitForm(evt);
            }
        });

        jPanel1.setLayout(null);

        jLabel1.setText("user");
        jPanel1.add(jLabel1);
        jLabel1.setBounds(10, 10, 40, 20);

        jLabel2.setText("password");
        jPanel1.add(jLabel2);
        jLabel2.setBounds(130, 10, 70, 24);

        jTextField1.setName("user");
        jTextField1.setPreferredSize(new java.awt.Dimension(50, 25));
        jPanel1.add(jTextField1);
        jTextField1.setBounds(50, 10, 70, 25);

        jButton1.setText("connect");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jPanel1.add(jButton1);
        jButton1.setBounds(310, 10, 90, 30);

        jPanel1.add(jPasswordField1);
        jPasswordField1.setBounds(200, 10, 100, 28);

        getContentPane().add(jPanel1);
        jPanel1.setBounds(0, 0, 410, 40);

        jPanel2.setLayout(new java.awt.BorderLayout());

        jScrollPane2.setViewportView(jTextPane2);

        jPanel2.add(jScrollPane2, java.awt.BorderLayout.CENTER);

        getContentPane().add(jPanel2);
        jPanel2.setBounds(10, 70, 490, 130);

        jPanel3.setLayout(new java.awt.BorderLayout());

        jScrollPane1.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
        jTextPane1.setText("To connect, enter your username and password");
        jScrollPane1.setViewportView(jTextPane1);

        jPanel3.add(jScrollPane1, java.awt.BorderLayout.CENTER);

        getContentPane().add(jPanel3);
        jPanel3.setBounds(10, 380, 490, 100);

        jButton2.setText("execute SQL");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        getContentPane().add(jButton2);
        jButton2.setBounds(290, 210, 110, 30);

        jPanel4.setLayout(new java.awt.BorderLayout());

        jScrollPane3.setBorder(new javax.swing.border.MatteBorder(null));
        jTable1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane3.setViewportView(jTable1);

        jPanel4.add(jScrollPane3, java.awt.BorderLayout.CENTER);

        getContentPane().add(jPanel4);
        jPanel4.setBounds(10, 250, 490, 120);

        jButton4.setText("import SQL File");
        jButton4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                OuvrirFichierActionPerformed(evt);
            }
        });

        getContentPane().add(jButton4);
        jButton4.setBounds(150, 210, 140, 30);

        jButton3.setText("show databases");
        jButton3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton3ActionPerformed(evt);
            }
        });

        getContentPane().add(jButton3);
        jButton3.setBounds(10, 210, 140, 30);

        jButton5.setText("quit");
        jButton5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                quitterActionPerformed(evt);
            }
        });

        getContentPane().add(jButton5);
        jButton5.setBounds(440, 480, 60, 30);

        jLabel3.setText("Write your SQL code here or import a file :");
        getContentPane().add(jLabel3);
        jLabel3.setBounds(10, 50, 270, 24);

        pack();
    }//GEN-END:initComponents
    
    private void quitterActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_quitterActionPerformed
        // Add your handling code here:
        System.exit(0);
    }//GEN-LAST:event_quitterActionPerformed
    
    private void OuvrirFichierActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_OuvrirFichierActionPerformed
        // Add your handling code here:
        String currentDir=".";
        String destination;
        File selected;
        JFileChooser chooser = new JFileChooser();
        chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
        File fdir = new File(currentDir);
        chooser.setCurrentDirectory(fdir);
        if(chooser.showDialog(this,"Choisir") == JFileChooser.APPROVE_OPTION) {
            selected = chooser.getSelectedFile();
            destination = new String(selected.getParent() + File.separatorChar + selected.getName());
            currentDir = selected.getParent();
            String s=  lireFichier(destination);
            jTextPane2.setText(s);
        }
    }//GEN-LAST:event_OuvrirFichierActionPerformed
    
    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
        // Add your handling code here:
        executerSQL("show databases");
    }//GEN-LAST:event_jButton3ActionPerformed
    
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
        // Add your handling code here:
        try{
            String query=this.jTextPane2.getSelectedText().replace( '%', '`' );
            if(connection==null) ecrireOut("you have to be identified to perform this operation");
            else
            {executerSQL(query);
             if (query.startsWith("drop")||query.startsWith("create")) executerSQL("show tables");}
        }
        catch(NullPointerException excep){
            ecrireOut("you have to select some code to execute");
        }
    }//GEN-LAST:event_jButton2ActionPerformed
    
    void executerSQL(String query){
        // executer le sql de la fenetre
        if (connection==null) ecrireOut("you have to be identified to perform this operation");
        try {
            if ( connection == null ) {System.out.println("connection==null");return;}
            Statement stm = connection.createStatement();
            String catalog = connection.getCatalog();
            
            
            
            String queryMaj = query.toUpperCase();
            
            if ( ( queryMaj.trim().startsWith( "SELECT" ) )
            || ( queryMaj.trim().startsWith( "DESCRIBE" ) )
            || ( queryMaj.trim().startsWith( "SHOW" ) ) ) {
                jTable1.removeAll();
                ResultSet rs = stm.executeQuery( query );
                ResultSetMetaData mdt = rs.getMetaData();
                int num = mdt.getColumnCount();
                DefaultTableModel df = new DefaultTableModel() {
                    public boolean isCellEditable( int row, int col )
                    { if ( (row>>1)<<1 == row ) return true; return false; } };
                    for ( int i = 0; i < num; i++ ) { df.addColumn( mdt.getColumnName( i + 1 ) ); }
                    jTable1.setModel( df );
                    
                    TableCellRenderer tbcH = createDemoHeaderRenderer();
                    for ( int i = 0; i < num; i++ ) {
                        TableColumn tc = jTable1.getTableHeader().getColumnModel().getColumn( i );
                        tc.setHeaderRenderer( tbcH );
                        tc.setCellRenderer( new DemoCellRenderer() );
                    }
                    int line = 0;
                    while ( rs.next() ) {
                        Vector v = new Vector( 10 );
                        for ( int col = 0; col < num; col++ )
                            v.addElement( rs.getString( col  + 1 ) );
                        df.addRow( v );
                        line++;
                    }
                    jTextPane1.setText( line + " rows selected");
                    rs.close();
            }
            else {
                ecrireOut( "SQL executer : " + query );
                stm.executeUpdate( query );
            }
            stm.close();
        }
        catch ( Exception e ) {
            jTextPane1.setText( "\nError execute sql : " + e );
            jTextPane1.setText( "sql : " + query );
        }
    }
    void ecrireOut(String chaine){
        jTextPane1.setText(chaine);
    }
    
    class DemoCellRenderer extends JLabel
    implements TableCellRenderer {
        boolean isBordered = true;
        Color selectedForeground = null;
        Color selectedBackground = null;
        Color unselectedForegroundAlt = null; 
        Color unselectedBackgroundAlt = new Color( 200, 200, 200 );
        Color unselectedForeground = null;
        Color unselectedBackground = null;
        
        public DemoCellRenderer() {
            super();
            setOpaque(true);
        }
        
        public Component getTableCellRendererComponent(
        JTable table, Object val,
        boolean isSelected, boolean hasFocus,
        int row, int column) {
            setAlignmentX( CENTER_ALIGNMENT );
            
            
            Font f = getFont();
            if ( isSelected ) {
                setFont( new Font( f.getName(), Font.PLAIN|Font.ITALIC, f.getSize() ) ); 
                
                super.setForeground( ( selectedForeground != null) ? selectedForeground : table.getSelectionForeground() );
                super.setBackground( ( selectedBackground != null) ? selectedBackground : table.getSelectionBackground() );
            }
            else {
                setFont( new Font( f.getName(), Font.PLAIN, f.getSize() ) ); 
                if ( ((column)>>1)<<1 == column - (row-((row>>1)<<1)) ) {
                    super.setForeground( ( unselectedForegroundAlt != null) ? unselectedForegroundAlt : table.getForeground() );
                    super.setBackground( ( unselectedBackgroundAlt != null) ? unselectedBackgroundAlt : table.getBackground() );
                }
                else {
                    super.setForeground( ( unselectedForeground != null) ? unselectedForeground : table.getForeground() );
                    super.setBackground( ( unselectedBackground != null) ? unselectedBackground : table.getBackground() );
                }
            }
            setText( (String)val );
            return this;
        }
    }
    
    Color foreColor = new Color( 0, 0, 50 );
    Hashtable couleur = new Hashtable( 10 );
    Color defoBack = new Color( 194, 194, 194);
    
    private TableCellRenderer createDemoHeaderRenderer() {
        DefaultTableCellRenderer label = new
        DefaultTableCellRenderer() {
            public Component getTableCellRendererComponent(JTable table, Object value,
            boolean isSelected, boolean hasFocus, int row, int column) {
                setText((value == null) ? "" : value.toString());
                if (table != null) {
                    JTableHeader header = table.getTableHeader();
                    if (header != null) {
                        
                        Color back = (Color)couleur.get( getText() );
                        setForeground( foreColor );
                        setBackground( (back==null)?defoBack:back );
                        setFont(header.getFont());
                    }
                }
                setBorder(UIManager.getBorder("TableHeader.cellBorder"));
                return this;
            }
        };
        label.setHorizontalAlignment(JLabel.CENTER);
        return label;
    }
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
        // Add your handling code here:
        String user=jTextField1.getText();
        char[] passwd=jPasswordField1.getPassword();
        connect(user,passwd);
    }//GEN-LAST:event_jButton1ActionPerformed
    
    public void connect(String user,char[] passwd) {
        String out=new String();
        try {
            String pass = new String(passwd);
            if (user.compareTo("")==0)
            {jTextPane1.setText("Enter a valid username/password please");
             return;}
            
            
            out="Connecting to the JDBC driver\n";
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            out=out+"Driver com.mysql.jdbc.Driver loaded\n";
            try {
                out=out+"Connecting to database\n";
                connection = DriverManager.getConnection("jdbc:mysql://localhost/test?user="+user +
                "&password="+ pass);
                out=out+"Database connected\n";
            } catch (SQLException ex) {
                out = out + "Your user/password is not correct, try again please";
            }
        } catch (Exception ex) {
	    jTextPane1.setText("Driver loading failed\n");
        }
        jTextPane1.setText(out);
    }
    
    String lireFichier(String fic) {
        FileReader fr = null;
        LineNumberReader reader = null;
        
        try {
            fr = new FileReader(fic);
            reader = new LineNumberReader(fr);
        }
        catch (FileNotFoundException e) {
            reader = null;
            ecrireOut(fic+" (fichier introuvable)");
            return("");
        }
        
        String res = "";
        String line;
        try {
            for (;;) {
                line = reader.readLine();
                if (line == null) break;
                res += line+"\r\n";
            }
        }
        catch (IOException e) {
            ecrireOut(fic+" (lecture imposible)");
        }
        try {
            reader.close();
            fr.close();
        }
        catch (IOException e) {
            ecrireOut(fic+" (fermeture impossible)");
        }
        reader = null;
        return(res);
    }
    
    /** Exit the Application */
    private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm
        try {
            Toolkit.getDefaultToolkit().beep();
            int reply = JOptionPane.showConfirmDialog(this,
            "Do you really want to quit?",
            "Interface MySql - Quit" ,
            JOptionPane.YES_NO_OPTION,
            JOptionPane.QUESTION_MESSAGE);
            if (reply == JOptionPane.YES_OPTION) {
                System.exit(0);            
            }
        } catch (Exception e) {
        }
    }//GEN-LAST:event_exitForm
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        new MySql().show();
    }
    
    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JButton jButton4;
    private javax.swing.JButton jButton5;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JPasswordField jPasswordField1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JTable jTable1;
    private javax.swing.JTextField jTextField1;
    private javax.swing.JTextPane jTextPane1;
    private javax.swing.JTextPane jTextPane2;
    // End of variables declaration//GEN-END:variables
    
}



 Sources de la même categorie

Source avec Zip Source avec une capture SERVEUR ACCESS par jantelboy
Source avec Zip Source avec une capture JIDBASE : JAVA INTERFACE DATABASE par sovos
Source avec Zip DATAMAP-JDBC par cherkaouif
Source avec Zip Source avec une capture SYSTÈME DE GESTION DES DÉPENSES par ig3
Source avec Zip Source avec une capture CONNEXION JAVA ORACLE VIA UN SERVEUR par moumou95

Commentaires et avis

Commentaire de jdequier le 25/03/2004 13:57:20

j'ai testé, ça fonctionne bien.
ça va beaucoup m'aider

Commentaire de Maiku le 22/03/2007 10:35:55

Salut

J'ai beaucoup l'interface, c'est un peu plus agréable que le mode console de MySQL c'est clair.

Amy

Commentaire de anadeveloppeur le 06/07/2007 14:11:01

Bonjour.
Beau travail, je suis du même avec de "Maiku"
Bonne journée

Commentaire de bdina le 13/06/2009 05:07:05

moi aussi je chercher de faire une interface pour creation d'un site web qui manipule une base de donnée pour une gestion de retraités mais j'ai aucune idée.

Commentaire de bdina le 13/06/2009 05:08:25

mon travaille et faite avec easyphp

et l'interface avec html

Commentaire de darude012 le 01/02/2010 21:06:35 10/10

je te dit chapeau pour ce code source , il est très bien , moi qui chercher comment gérer la connexion a partir des fieldtext,

en plus c'est  super simple a utiliser

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales