eu tenho uma tabela clientes aonde eu precisava fazer uma consulta que me retornasse todos clientes
mas o problema é
que eu preciso fazer tipo um navegador com dois botoes um proximo e um anterior para navegar pelos clientes dessa tabela
eu precisava de alguma ideia para fazer isso
mas em que voce vai desenvolver isso, web, client? porque existe muitas formas de voce fazer isso, mas precisamos de mais detalhes
é uma aplicação desktop e vou usar swing
Basta criar um painel com dois botões e criar uma iteração entre eles.
da um erro
Exception in thread “main” java.lang.NullPointerException
at teste.(teste.java:49)
at teste.main(teste.java:234)
e eu não sei aonde é alguem pode ajudar?
o código é esse
public class teste extends JFrame{
public static String codigo;
public static String nome;
public static ResultSet rs;
private AbstractButton tf;
private AbstractButton tf1;
teste(){
try{
Class.forName("org.postgresql.Driver");
Connection con=DriverManager.getConnection("jbdc:postgresql://localhost:5432/teste","postgres","postgres");
Statement stmt =con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs= stmt.executeQuery("Select * from clientes");
if(rs.first()){
tf.setText(rs.getString("codigo"));
tf1.setText(rs.getString("nome"));
}
} catch(SQLException e){ //trata os erros
JOptionPane.showMessageDialog(null,"Erro Cmdo SQL " + e.getMessage());
} catch(ClassNotFoundException e){
JOptionPane.showMessageDialog(null,"Driver não encontrado");
}
setTitle("Clientes");
setBounds(100,100,600,400);
setLayout(null);
JLabel l1=new JLabel("Código");
l1.setBounds(10, 10, 100, 30);
getContentPane().add(l1);
final JTextField tf=new JTextField();
tf.setBounds(100, 10, 150, 30);
getContentPane().add(tf);
JLabel l2=new JLabel("Nome");
l2.setBounds(10, 40, 100, 30);
getContentPane().add(l2);
final JTextField tf1=new JTextField();
tf1.setBounds(100, 40, 150, 30);
getContentPane().add(tf1);
JButton btn=new JButton("Primeiro");
btn.setBounds(0, 230, 100, 30);
getContentPane().add(btn);
btn.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent f){
try{
rs.first();
tf.setText(rs.getString("codigo"));
tf1.setText(rs.getString("nome"));
} catch(SQLException e){ //trata os erros
JOptionPane.showMessageDialog(null,"Primeiro");
}
}
}
);
JButton btn1=new JButton("Anterior");
btn1.setBounds(100, 230, 100, 30);
getContentPane().add(btn1);
btn1.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent f){
try{
rs.previous();
tf.setText(rs.getString("codigo"));
tf1.setText(rs.getString("nome"));
} catch(SQLException e){ //trata os erros
JOptionPane.showMessageDialog(null,"Não Existem mais Registros");
}
}
}
);
JButton btn2=new JButton("Próximo");
btn2.setBounds(200, 230, 100, 30);
getContentPane().add(btn2);
btn2.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent f){
try{
rs.next();
tf.setText(rs.getString("codigo"));
tf1.setText(rs.getString("nome"));
} catch(SQLException e){ //trata os erros
JOptionPane.showMessageDialog(null,"Não Existem mais Registros");
}
}
}
);
JButton btn3=new JButton("Ultimo");
btn3.setBounds(300, 230, 100, 30);
getContentPane().add(btn3);
btn3.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent f){
try{
rs.last();
tf.setText(rs.getString("codigo"));
tf1.setText(rs.getString("nome"));
} catch(SQLException e){ //trata os erros
JOptionPane.showMessageDialog(null,"Ultimo");
}
}
}
);
setVisible(true);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
}
[quote=felipemlopes]da um erro
Exception in thread “main” java.lang.NullPointerException
at teste.(teste.java:49)
at teste.main(teste.java:234)
e eu não sei aonde é alguem pode ajudar?
[/quote]
Linha 49, NullPointerException.
Não é essa a linha?
O teu tf está nulo.