i'm doing my first applications using JDBC/Oracle... Today i had a problem and i can't find out what's wrong.
That's my code (some parts)
My global variables:
public class Esercizio02_GestioneDB {
public Esercizio02_GestioneDB(){
}
public Connection conn = null;
public Statement s = null;
public ResultSet rs = null;
public ResultSet rs1 = null;
ResultSetMetaData rsmd = null;
ResultSetMetaData rsmd1 = null;
[...]
My connection method:
public void connetti(String user, String pwd) throws ClassNotFoundException, SQLException {
        //DRIVER
        Class.forName("oracle.jdbc.driver.OracleDriver");
        //URL
        String url = "jdbc:oracle:thin:@//localhost:1521/xe";
        //CONNECTION
        conn = DriverManager.getConnection(url, user, pwd);
        //AUTOCOMMIT
        conn.setAutoCommit(true);
        //STATEMENT
        s = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,    ResultSet.CONCUR_UPDATABLE);         
}
So, i have a method to delete a row in a table:
private void eliminaPrenotazione() {
    try {
        String message1 = "Scegli la prenotazione da cancellare:\n\n";
        String query = "SELECT * FROM camere_prenotate";
        rs1 = s.executeQuery(query);
        rsmd1 = rs1.getMetaData();
        message1 += "INDICE ";
        for (int i=1; i<=rsmd1.getColumnCount(); i++) {
            message1 += rsmd1.getColumnName(i);
            message1 += " \t ";
        }
        message1 += "\n_______________________________\n";
        int rowIndex = 1;
        String columnType = "";
        while (rs1.next()) {    
            message1 += "["+rowIndex+"]. ";
            rowIndex++;
            for (int i=1; i<=rsmd1.getColumnCount(); i++) {
                columnType = rsmd1.getColumnTypeName(i);
                if(columnType.substring(0, 3).equalsIgnoreCase("num")) message1 += rs1.getInt(i);
                if(columnType.substring(0, 3).equalsIgnoreCase("var") || columnType.substring(0, 3).equalsIgnoreCase("dat"))
                        message1 += rs1.getString(i);
                message1 += " \t ";
            }
            message1 +="\n";
        }
        message1 +="\n";
        String scelta = JOptionPane.showInputDialog(null, message1);
        int sceltaInt = Integer.parseInt(scelta);
        rs1.absolute(sceltaInt);
        rs1.deleteRow();
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, "Errore: " + e.getMessage());
    }
}
deleteRow() returns me an error... it says me that my ResultSet is read only, but in my statement it's delcared as
s = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
so, what's wrong?
sry for the noobish code and the bad english -.-'''
select * makes the Resultset instance readonly.
select COLUMNNAME makes it updatable.