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);
}
}