Não consigo encontrar o registro anterior com este código,
pois quando estou no registro 10 e vou para o 9 gera um erro se este já foi deletado, é a primeira vez que desenvolvo utilizado sql, por isso o código está assim, deve ter um código mais simples que este que estou fazendo. Se alguém puder me ajudar agradeço. acho que vai ajudar muita gernte também.
package CLIENTES;
/**
- Classe EncontrarAnteriorRegistroClientes
- Definição da Classe e métodos
- Esta classe encontra o registro anterior na tabela TB_CLIENTES
*/
import java.awt.event.;
import java.sql.;
import javax.swing.*;
public class EncontrarAnteriorRegistroClientes implements ActionListener {
private PainelFormularioClientes fields;
private JTextArea output;
private Connection connection;
int menorRegistro;
int atualRegistro;
public EncontrarAnteriorRegistroClientes( Connection c, PainelFormularioClientes f,
JTextArea o )
{
connection = c;
fields = f;
output = o;
}
public void actionPerformed( ActionEvent e )
{
try { // Executa pesquisa SQL para encontrar o total de registro na tabela
Statement statement = connection.createStatement();
// Pesquisa o o número de registros da tabela TB_CLIENTES
String queryPrimeiroRegistro = "SELECT MIN (CLI_CODIGO) FROM TB_CLIENTES";
ResultSet rs = statement.executeQuery( queryPrimeiroRegistro );
output.setText( "" );
rs.next();
menorRegistro = rs.getInt( 1 ); // guarda o total de registros
output.append( "Enviando Consulta SQL: " +
connection.nativeSQL( queryPrimeiroRegistro ) + "\n" );
output.append( "\nEncontrado o primeiro Registror" );
statement.close();
}
catch ( SQLException sqlex ) {
sqlex.printStackTrace();
output.append( sqlex.toString() );
}
try { // Executa comando SQL para inseriru um registro na tabela
if ( !fields.codigo.getText().equals( "" ) ) {
String atualRegistroStr = fields.codigo.getText();
atualRegistro = Integer.parseInt( atualRegistroStr );
}
else {
atualRegistro = menorRegistro;
}
Statement statement = connection.createStatement();
String query = "SELECT * FROM TB_CLIENTES " +
"WHERE CLI_CODIGO = " + atualRegistro;
output.append( "Enviando Consulta SQL: " +
connection.nativeSQL( query ) + "\n" );
ResultSet rs = statement.executeQuery( query );
rs.next();
atualRegistro = rs.getInt( 1 );
if ( atualRegistro > menorRegistro )
atualRegistro--;
if ( atualRegistro != 0 ) {
fields.codigo.setText( String.valueOf( atualRegistro));
fields.nome.setText( rs.getString( 2 ) );
fields.cpf.setText( rs.getString( 3 ) );
fields.identidade.setText( rs.getString( 4 ) );
fields.nascimento.setText( rs.getString( 5 ) );
fields.endereco.setText( rs.getString( 6 ) );
fields.numero.setText( rs.getString( 7 ) );
fields.bairro.setText( rs.getString( 8 ) );
fields.telefone.setText( rs.getString( 9 ) );
fields.dependente1.setText( rs.getString( 10 ) );
fields.dependente2.setText( rs.getString( 11 ) );
output.append( "\nSucesso: O Registro foi encontrado." );
}
else {
output.append( "\nErro: O Registro não foi encontrado." );
fields.nome.setText( "" );
fields.cpf.setText( "" );
fields.identidade.setText( "" );
fields.nascimento.setText( "" );
fields.endereco.setText( "" );
fields.numero.setText( "" );
fields.bairro.setText( "" );
fields.telefone.setText( "" );
fields.dependente1.setText( "" );
fields.dependente2.setText( "" );
}
statement.close();
}
catch ( SQLException sqlex ) {
sqlex.printStackTrace();
output.append( sqlex.toString() );
}
}
}