Erro ao tentar salvar registro

Pessoal,

estou tentanto salvar um registro, usando SQLSERVER e JTDS como driver.

o código que cria a query é o seguinte

[color=green] st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);

   rec = st.executeQuery("SELECT * FROM TBMunicipio");[/color]

[color=black][/color] e o código que chamo para salvar é o seguinte

[color=green][/color] private void salvar() {
try{
String texto = textMunicipio.getText();

    //rec.updateString( "Nome", texto);
    //rec.updateRow();
    }
    
    catch (SQLException e) 
    { System.out.println(e.getMessage() + e.toString());
    }
    
}

[color=black][/color] A mensagem de erro é a seguinte

[color=green][/color]
ResultSet is read only.java.sql.SQLException: ResultSet is read only.

[color=black][/color]Alguém pode me ajudar?

Ué, vc está fazendo um select, não?

É um select, mas a instrução “ResultSet.CONCUR_UPDATABLE”
que usei no createStatement, me permite salvar registros.

por que em vez de trabalhar em cima do ResultSet direto, você não varre ele, guarda a informação toda em alguma classe de modelo ou collection, ai só depois você trabalha com essas informações ?

Pela especificação do JDBC, o driver tem o direito de lhe retornar um ResultSet que não seja atualizável (ResultSet.CONCUR_UPDATABLE), mesmo que você tenha solicitado isso explicitamente, sem dar erro.
Portanto é necessário você verificar (não sei qual é a API correta para verificar as propriedades do ResultSet) se realmente o ResultSet é atualizável ou não.
Acho que no seu caso deve ter alguma opção que lhe permita fazer isso - não sei se o JTDS ou o driver da Microsoft suportam tais cursores atualizáveis, e em que condições.