Visualizzazione dei risultati da 1 a 3 su 3

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    24

    [JAVA]problema inserimento dati query

    Salvea tutti, mi servirebbe il vostro aiuto.
    Non riesco ad eseguire una query da un'interfaccia in java
    Ho provato in tutti i modi ma sembra che non ne voglia proprio sapere.
    Il bello è che il problema risulta solo con INSERT.

    Vi lascio il codice che utilizzo

    codice:
    public class Query{
    
    
        /**
         * @param args
         * @throws ClassNotFoundException 
         * @throws SQLException 
         */
        public static void main(String[] args) throws ClassNotFoundException, SQLException {
            Class.forName("com.mysql.jdbc.Driver");
            String url = "jdbc:mysql://localhost:3306/ia";
            Connection con=DriverManager.getConnection(url,"root","");
            final Statement st = con.createStatement(); 
            
            final JTable table = new JTable();
            JScrollPane scrollPane = new JScrollPane(table);
            table.setFillsViewportHeight(true);
            table.setPreferredScrollableViewportSize(new Dimension(600,600));
            final JTextArea t=new JTextArea(5,20);
            t.setText("inserisci qui le query");
            t.setLineWrap(true);
            JScrollPane js2 = new JScrollPane(t);
            JButton b= new JButton("Invia Query");
            
            b.addActionListener(new ActionListener(){
    
    
                @Override
                public void actionPerformed(ActionEvent arg0) {
                    try {
                        ResultSet rs=st.executeQuery(t.getText());
                        table.setModel(buildTableModel(rs));
                    } catch (SQLException e) {
                        JOptionPane.showMessageDialog(null, "query non valida");
                    }
                }});
            
            JButton bq1= new JButton("Nuovo");
            
            bq1.addActionListener(new ActionListener(){
    
    
                @Override
                public void actionPerformed(ActionEvent arg0) {
                    try {
                        ResultSet rs= query1(st);
                        table.setModel(buildTableModel(rs));
                    } catch (SQLException e) {
                        JOptionPane.showMessageDialog(null, "query non valida");
                    }
                    catch (InputNotMatchingException i){
                        JOptionPane.showMessageDialog(null, i.getMessage());
                    }
                }});
            
            JPanel panel= new JPanel();
            JPanel panel2= new JPanel();
            
        
            panel.add(scrollPane);
            panel.add(b);
            panel2.add(bq1);
            panel2.add(bq2);
            panel2.add(bq3);
            panel2.add(bq4);
            panel.add(js2);
            panel.add(panel2);
            JFrame frame= new JFrame();
            frame.add(panel);
            frame.setSize(1000, 700);
            frame.setVisible(true);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
        
        public static ResultSet query1(Statement s) throws InputNotMatchingException, SQLException{
            String a,b,c,d,e,f,g,h,i,l,m,n,o,p,q;
            a=JOptionPane.showInputDialog(null, "inserisci campo1");
            b=JOptionPane.showInputDialog(null, "inserisci campo2");
            c=JOptionPane.showInputDialog(null, "inserisci campo3");
            d=JOptionPane.showInputDialog(null, "inserisci campo4");
            e=JOptionPane.showInputDialog(null, "inserisci campo5");
            f=JOptionPane.showInputDialog(null, "inserisci campo6");
            g=JOptionPane.showInputDialog(null, "inserisci campo7");
            h=JOptionPane.showInputDialog(null, "inserisci campo8");
            i=JOptionPane.showInputDialog(null, "inserisci campo9");
            l=JOptionPane.showInputDialog(null, "inserisci campo10");
            m=JOptionPane.showInputDialog(null, "inserisci campo11");
            n=JOptionPane.showInputDialog(null, "inserisci campo12");
            o=JOptionPane.showInputDialog(null, "inserisci campo13");
            p=JOptionPane.showInputDialog(null, "inserisci campo14");
            q=JOptionPane.showInputDialog(null, "inserisci campo15");
    
            return s.executeQuery("insert into foglio1 `titolo`, `autore` values `\""+a+"\"',`\""+b+"\"')");
            
            }
            
            public static DefaultTableModel buildTableModel(ResultSet rs)
                throws SQLException {
    
    
            ResultSetMetaData metaData = rs.getMetaData();
    
    
            // names of columns
            Vector<String> columnNames = new Vector<String>();
            int columnCount = metaData.getColumnCount();
            for (int column = 1; column <= columnCount; column++) {
                columnNames.add(metaData.getColumnName(column));
            }
    
    
            // data of the table
            Vector<Vector<Object>> data = new Vector<Vector<Object>>();
            while (rs.next()) {
                Vector<Object> vector = new Vector<Object>();
                for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
                    vector.add(rs.getObject(columnIndex));
                }
                data.add(vector);
            }
    
    
            return new DefaultTableModel(data, columnNames);
    
    
        }
    
    
    }
    Ultima modifica di LeleFT; 27-10-2016 a 12:27 Motivo: Aggiunti i tag CODE

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.