darta.lima inverta o código que vc fez da seguinte forma, assim ele sempre vai ficar no loop até o fim ok
while(rs.next())
{
Try
{
String query = " insert into …"
}
catch (SQLException sqlex)
{
} // fim do try
} // fim do while
Para usar com o vector faça o seguinte, de uma estudada na classe Vector, vai dar um pouco de trabalho, mas antes escrever umas linhas a mais do que deixar ele tentar inserir a toa, pois conexao ao banco sempre demora muito mais tempo, mas só se vc tiver certeza que vai haver uma quantidade enorme de registros duplicados senão não compensa, vc vai ter que fazer algo assim:
Vector ListaCodigos = new Vector(0);
while(rs.next())
{
String Codigo;
// implemente um modo de pegar o código que você está inserindo aqui e jogue em Codigo
// se todas as suas linhas seguirem um padrão então você pode ter certeza de onde começa o código
// Ex. supondo que o texto segue um padrão como abaixo o código vai estar em determinada posicao (35 no exemplo abaixo)
//INSERT INTO (CODIGO, NOME) VALUES (10, ‘NOME’);
//INSERT INTO (CODIGO, NOME) VALUES (12, ‘TESTE’);
// assim vc pode pegar os caracteres da posicao 35 até a virgula para pegar o codigo e joga-los na String Codigo
// se encontrou volta no loop
if (ListaCodigos.indexOf(Codigo) >= 0)
continue;
else
ListaCodigos.addElement(Codigo);
Try
{
String query = " insert into …"
}
catch (SQLException sqlex)
{
} // fim do try
} // fim do while
Ah chave primária já é uma constraint Thiago, então não vai resolver.