SQLite + Java. Metódo de buscar e inserção simultâneos?

5 respostas
S

Eu estou desenvolvendo um aplicativo simples que consiste em acessar um banco de dados sqlite alterar um campo e salvar.

O problema é que eu tenho esse metódo:

public static void UpdateDb (String r ) {
       try {
          
           sta.executeUpdate( "Update HandHistory set tablename="+r+" where tablename like '%"+r+"%'");
      } catch (SQLException ex) {
          System.err.print(ex);
      } catch (Exception ex) {
       System.out.print(ex);
        }
Q interrompe esse while:
ResultSet pesquisa = sta.executeQuery( "select tablename from HandHistory");
            while(pesquisa.next())
      {
       formatString(pesquisa.getString("TableName")); 
       
      }

Eu posso utilizar os dados da pesquisa e jogar num array String e depois utilizar o DBUpdate, mas eu gostaria de saber porque o while está sendo interrompido ?

5 Respostas

S

Não ocorre nenhuma exceção. O que é estranho. Eu pensei que talvez pudesse ser um comportamento do método query.

O método formatS chama o método UpdateDB:

public void formatString ( String a){

if (a.contains("[")){

String  stringFormatada =  a.substring(a.indexOf([)+1,a.indexOf(]));

UpdateDB (stringFormatada);

}
}
S

Ninguém ?

pmlm

Quando fazes o update é uma nova instrução e é fechado o resultset do SQL anterior.
Para o que queres fazer, guarda todos os dados do resultset numa lista e depois itera sobre ela e não directamente sobre o resultSet.

S

pmlm:
Quando fazes o update é uma nova instrução e é fechado o resultset do SQL anterior.
Para o que queres fazer, guarda todos os dados do resultset numa lista e depois itera sobre ela e não directamente sobre o resultSet.

Eu imaginei que fosse isso. Obrigado por confirmar.
Eu utilizei um ArrayList e depois fiz as devidas modificações.

Obrigado!

WellingtonRamos

Ocorre uma exceção? Se sim, poste-a para melhor análise.

Criado 3 de abril de 2013
Ultima resposta 3 de abr. de 2013
Respostas 5
Participantes 3