Oi Andre,

        parece estar tudo ok com o seu codigo, mas tenho uma sugestao que
vai melhorar o desempenho. Voce deve tirar para fora do while a criacao do
PreparedStatement.
        Criado dentro do while, como voce estah fazendo, nao faz muito
sentido. Seria a mesma coisa do que se voce criasse um Statement.
        A proposito, qual banco voce estah usando? Digo isso porque tive
problemas usando bridge JDBC-ODBC no SQLServer. O driver ODBC nao permitia
abrir mais de um recurso (Statement, ResultSet, PreparedStatement, etc) na
mesma conexao.

Se pensar em mais alguma cois eu te falo. Abracos,

Bruno.


On Tue, 8 Feb 2000, Andre Zimowski Perevalo wrote:

> Caros  Amigos  !
> Estou com dificuldade nesta minha classe (LimpaBanco). 
> Nesta classe eu seleciono de uma determinada tabela do meu DB, os campos
> Telefone e CodCli (C�digo). 
> Estou fazendo uma atualiza��o no campo telefone. � o seguinte :
> Os telefones est�o com o prefixo concatenado, ex. 413676619,
> 212544854.........
> ent�o estou tirando este prefixo e armazenando somente o numero, ex.
> 3676619, 2544854.........
> S� que chega no registro 105 mais ou menos e a coisa come�a a demorar
> muito...
> Tenho cerca de 5000 registro neste banco. 
> Algu�m sabe como eu poderia fazer para melhorar a performance desta classe.
> Estou enviando minha classe. 
> Atenciosamente, 
>  
>  
>  
> class LimpaBanco
> {
>     public static void main(String argv[])
>     {
>         try
>         {
>           Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
>           Connection
> con=DriverManager.getConnection("jdbc:odbc:BancoAtendimento","","");
>           Statement st = con.createStatement();
>           ResultSet rs = st.executeQuery("SELECT Telefone, Codcli FROM
> AtendimentoDados");
>  
>           int cont  = 0;
>           while(rs.next())
>           {
>             cont ++;
>             PreparedStatement st1 = con.prepareStatement("update
> AtendimentoDados SET Telefone = ? where Codcli = ?");
>             st1.setString(1, rs.getString(1).substring(2));
>             st1.setInt(2, rs.getInt(2));
>             System.out.println(cont);
>             int linhas = st1.executeUpdate();
>           }
>           rs.close();
>           con.close();
>    
>        }
>        catch(Exception e)
>        {
>           System.out.println("Erro");
>           System.out.println(e.getMessage());
>       }
>    }
> }
> 
>  
> 
> Andr� Zimowski Perevalo 
> Associa��o Comercial do Paran� 
> Dep. de Inform�tica - Desenvolvimento 
> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> 
> 
>  
> 
>     --------------------------- LISTA SOUJAVA ---------------------------
>     http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP
>     [d�vidas mais comuns: http://www.soujava.org.br/faq.htm]
>     [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
>     ---------------------------------------------------------------------
> 


______________________________________________________________
Bruno Diniz de Paula
[EMAIL PROTECTED] - UFMG
[EMAIL PROTECTED] - Telemig Celular

"Coracoes ao alto e pes no chao."

"A verdadeira experiencia com Deus nao nos faz
 fugir da realidade, mas nos da forcas para
 enfrenta-la e transforma-la."

Pe. Zeca

    --------------------------- LISTA SOUJAVA ---------------------------
    http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP
    [d�vidas mais comuns: http://www.soujava.org.br/faq.htm]
    [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
    ---------------------------------------------------------------------

Responder a