Oi André, Oi Lista.
O erro é devido ao comando SQL.
De acordo com o padrão do SQL, para alterar um registro da tabela é 
necessario acrescentar a cláusula WHERE. Do contrário, todos os registros 
serão alterados.

Aqui temos um problema, pois a alteração está dentro de um laço while
Acho que deve ser feita a seguinte alteração dentro do laço, usando a chave 
primária:

PreparedStatement st1 = con.prepareStatement("UPDATE
AtendimentoDados SET Telefone = ? where chaveprimaria = ?");
st1.setString(1,atualiza(rs.getString("Telefone")));
st1.setString(2,rs.getInt("chaveprimaria"));
st1.executeQuery();


Agora algumas dúvidas, pois não tenho experiência com java:

1. O comando do PrepareStatement deve ficar fora do loop?
2. O segundo setString deve ser setInt?

Até mais,


Augusto

PS: Cuidado, pois o comando delete segue o mesmo esquema do update


>From: Andre Zimowski Perevalo <[EMAIL PROTECTED]>
>Reply-To: [EMAIL PROTECTED]
>To: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>
>Subject: RES: [SouJava-J] Alterar dados ! ! ! !
>Date: Fri, 4 Feb 2000 11:17:03 -0300
>
>Olá recebi as respostas a minha pergunta referente a atualização de um 
>campo
>de determinada tabela.
>
>Acontece que est3e código que usei está deixando todos os registros deste
>campo "Telefone' iguais.
>
>Estou enviando o código e se alguém puder me ajudar, agradeço
>
>Atenciosamente,
>
>
>André
>
>
>
>import java.util.*;
>import java.net.URL;
>import java.sql.*;
>import java.io.*;
>
>class teste
>{
>   static DataInputStream in = new DataInputStream(System.in);
>   public static void main(String argv[])throws IOException
>   {
>     try
>     {
>
>
>       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
>       Connection
>con=DriverManager.getConnection("jdbc:odbc:BancoAtendimento","","");
>       System.out.println();
>       System.out.println("Estabelecida conexao com o BD.");
>       Statement st = con.createStatement();
>       ResultSet rs = st.executeQuery("select Telefone from
>AtendimentoDados");
>
>       while (rs.next())
>       {
>           PreparedStatement st1 = con.prepareStatement("UPDATE
>AtendimentoDados SET Telefone = ?");
>           st1.setString(1,atualiza(rs.getString("Telefone")));
>           st1.executeQuery();
>       }
>       st.close();
>       con.close();
>     }
>     catch(Exception e)
>     {
>       System.out.println("Erro");
>       System.out.println(e.getMessage());
>       in.readLine();
>     }
>   }
>
>   public static String atualiza(String numReal)
>   {
>     System.out.println(numReal);
>     String numMod = "";
>
>     numMod = numReal.substring(2);
>
>     return numMod;
>
>   }
>}
>
> >-----Mensagem original-----
> >De: Jos Augusto Cintra [mailto:[EMAIL PROTECTED]]
> >Enviada em: Sexta-feira, 4 de Fevereiro de 2000 7:52
> >Para: [EMAIL PROTECTED]
> >Assunto: Re: [SouJava-J] Alterar dados ! ! ! !
> >
> >
> >Uma das maneiras de se fazer a conexão com o Access é através
> >do JDBC com o
> >driver padrão JDBC ODBC que vem com o pacote Java 2.
> >Nesse caso você deve criar na máquina cliente uma DSN para o
> >ODBC através do
> >painel de controle.
> >Depois faça um teste com o seguinte trecho de programa que
> >lista uma tabela.
> >Esse trecho serve para qualquer banco de dados que suporte ODBC.
> >
> >----------------------------------------------------------------------
> >import java.util.*;
> >import java.net.URL;
> >import java.sql.*;
> >
> >/*
> >Lista uma tabela de uma banco com suporte para ODBC
> >Supoe-se que a tabela tenha 2 campos: codigo (inteiro) e
> >descricao (texto)
> >*/
> >
> >class testers
> >  {
> >  public static void main(String argv[])
> >    {
> >    try
> >      {
> >      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
> >      Connection
> >con=DriverManager.getConnection("jdbc:odbc:minhadsn","login","senha");
> >      System.out.println();
> >      System.out.println("Estabelecida conexao com o BD.");
> >      Statement st = con.createStatement();
> >      ResultSet rs = st.executeQuery("select * from minhatabela");
> >      while (rs.next())
> >        {
> >        System.out.println (rs.getInt("codigo")+"
> >"+rs.getString("descricao"));
> >        }
> >      st.close();
> >      con.close();
> >      }
> >    catch(Exception e)
> >      {
> >      System.out.println("Erro");
> >      System.out.println(e.getMessage());
> >      }
> >    }
> >  }
> >
> >----------------------------------------------------------------------
> >Esse driver padrão possui algumas limitações. Se preferir,
> >pode usar outros
> >(existe uma lista deles no site da sun).
> >Um driver interessante, escrito em java/RMI está em
> >
> >http://dyade.inrialpes.fr/mediation/download/RmiJdbc/RmiJdbc.html
> >
> >Este tem a vantagem de ser grátis.
> >
> >
> >Até mais,
> >
> >
> >Augusto
> >
> >>From: Andre Zimowski Perevalo <[EMAIL PROTECTED]>
> >>Reply-To: [EMAIL PROTECTED]
> >>To: Java-List (Correio eletrônico) <[EMAIL PROTECTED]>
> >>Subject: [SouJava-J] Alterar dados ! ! ! !
> >>Date: Thu, 3 Feb 2000 16:34:51 -0300
> >>
> >>Olá amigos  !!!
> >>Sou iniciante em Java e tenho a seguinte duvida.
> >>
> >>Tenho um banco de dados Access e em uma de minhas tabelas
> >tenho um campo
> >>telefone.
> >>Este compo telefone esta assim: por exemplo :
> >>413676619
> >>413202326
> >>.
> >>.
> >>.
> >>entendem, esta com o prefixo concatenado.
> >>Preciso Conectar o Banco de Dados na minha aplicação para que eu possa
> >>atualizar este campo. Eu não si como fazer isso....preciso
> >somente conectar
> >>o Banco e preparar a instrução.
> >>Se alguém tiver um exemplo de conexão do Java com Access e
> >agradeceria .
> >>
> >>Atenciosamente,
> >>
> >>André
> >>
> >>     --------------------------- 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]
> >     
>---------------------------------------------------------------------
> >
>
>______________________________________________________
>Get Your Private, Free Email at http://www.hotmail.com
>
>     --------------------------- 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]
>     ---------------------------------------------------------------------
>
>     --------------------------- 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]
>     ---------------------------------------------------------------------
>

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com

    --------------------------- 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