Pessoal, minha dúvida é o seguinte…
Quero colocar em um campo jtextfield o último número de “id” do meu banco de dados de cliente.
Coloquei comentario" // AKI <- <<<<<<<<<<<" nos campos que tratam diretamente esse assunto no codigo.
no momento consta um erro que nao permite compilar… gostaria da ajuda de vc pra saber como devo colocar no codigo.
grato.
[code]public class CadastroCliente {
private int codigoCliente;
private String nomeCliente;
public int getCodigoCliente() {
int codcliente = CadastroClienteDAO.getLastId(); // AKI <- <<<<<<<<<<<
this.codigoCliente = codcliente;
return codigoCliente;
}
public void setCodigoCliente(int codigoCliente) {
this.codigoCliente = codigoCliente;
}
public String getNomeCliente() {
String nomeDoCliente = CadastroClienteGraf.getJTextFieldNome().getText();
this.nomeCliente = nomeDoCliente;
return nomeCliente;
}
public void setNomeCliente(String nomeCliente) {
this.nomeCliente = nomeCliente;
}
}
public class CadastroClienteDAO {
private static Connection conexao;
public CadastroClienteDAO() throws SQLException {
this.conexao = FabricaConexao.getConexao();
}
public void adiciona(CadastroCliente cadasClient) throws SQLException {
PreparedStatement stmt = (PreparedStatement) this.conexao
.prepareStatement("insert into cliente (nomeCliente, cpfCliente, ufCliente) values (?,?,?)");
stmt.setString(1, cadasClient.getNomeCliente());
stmt.setString(2, cadasClient.getCPFcliente());
stmt.setString(3, cadasClient.getUFcliente());
stmt.execute();
stmt.close();
}
public List selecionar(CadastroCliente cadasClient) throws SQLException {
PreparedStatement sql = (PreparedStatement) this.conexao
.prepareStatement("select nomeCliente from cliente where codigoCliente = " + cadasClient.getCodigoCliente());
ResultSet rs = sql.executeQuery();
// CRIA OBEJTO LISTACONTATO DO TIPO LIST RESPONSAVEL POR ARMAZENAR TODOS
// OS REGISTRO QUE FOREM SELECIONADOS NO CASO 1 SO
List<CadastroCliente> listaCliente = new ArrayList<CadastroCliente>();
while (rs.next()) {
// cria objeto temporario cadastro
CadastroCliente cadasClientTemp = new CadastroCliente();
// instancia o objeto
cadasClientTemp.setNomeCliente(rs.getString("nomefornecedor"));
// insere dados na lista
listaCliente.add(cadasClientTemp);
System.out.println(listaCliente);
}
// fecha recordset
rs.close();
// fecha statement
sql.close();
return listaCliente;
}
//PEGAR O ULTIMO CODIGOCLIENTE DA TABELA CLIENTE
public static int getLastId() throws SQLException{ // AKI <- <<<<<<<<<<<
String sql = "SELECT MAX(codigoCliente) as codigoCliente FROM CLIENTE";
PreparedStatement stmt = (PreparedStatement) conexao.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
rs.next();
int lastId = rs.getInt("id");
rs.close();
stmt.close();
return lastId;
}
// METODO RESPONSAVEL POR ALTERAR DADOS NA TABELA FORNECEDOR
public void alterar(CadastroCliente cadasClient) throws SQLException {
// prepared statement para inserção
PreparedStatement sql = (PreparedStatement) this.conexao.prepareStatement("update cliente set nome = '"
+ cadasClient.getNomeCliente());
sql.executeUpdate();
}
// METODO RESPONSAVEL POR DELETAR DADOS NA TABELA CADASTRO
public void deletar(CadastroCliente cadasClient) throws SQLException {
PreparedStatement sql = (PreparedStatement) this.conexao.prepareStatement("delete from cadastro where codigo = "
+ cadasClient.getCodigoCliente());
sql.executeUpdate();
}
}
public class CadastroClienteGraf extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JLabel Label_CodigoCliente = null;
private JLabel Label_NomeCliente = null;
private JTextField JTextFieldCodigoCliente = null;
private static JTextField JTextFieldNome = null;
private JButton BotaoSalvarCliente = null;
public CadastroClienteGraf() {
super();
initialize();
}
private void initialize() {
this.setSize(538, 271);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
}
private JPanel getJContentPane() {
if (jContentPane == null) {
Label_NomeCliente = new JLabel();
Label_NomeCliente.setBounds(new Rectangle(146, 25, 114, 16));
Label_NomeCliente.setText("Nome/Razão Social:");
Label_CodigoCliente = new JLabel();
Label_CodigoCliente.setBounds(new Rectangle(12, 22, 46, 16));
Label_CodigoCliente.setText("Codigo:");
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(Label_CodigoCliente, null);
jContentPane.add(Label_NomeCliente, null);
jContentPane.add(getJTextFieldCodigoCliente(), null);
jContentPane.add(getJTextFieldNome(), null);
jContentPane.add(getBotaoSalvarCliente(), null);
}
return jContentPane;
}
private JTextField getJTextFieldCodigoCliente() { // AKI <- <<<<<<<<<<<
if (JTextFieldCodigoCliente == null) {
JTextFieldCodigoCliente = new JTextField(CadastroCliente.getCodigoCliente());
JTextFieldCodigoCliente.setBounds(new Rectangle(59, 22, 79, 20));
}
return JTextFieldCodigoCliente;
}
static JTextField getJTextFieldNome() {
if (JTextFieldNome == null) {
JTextFieldNome = new JTextField();
JTextFieldNome.setBounds(new Rectangle(265, 25, 250, 20));
}
return JTextFieldNome;
}
private JButton getBotaoSalvarCliente() {
if (BotaoSalvarCliente == null) {
BotaoSalvarCliente = new JButton();
BotaoSalvarCliente.setBounds(new Rectangle(30, 170, 86, 42));
BotaoSalvarCliente.setText("Salvar");
BotaoSalvarCliente
.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(
java.awt.event.ActionEvent evt) {
try {
CadastroCliente cadasClient = new CadastroCliente();
CadastroClienteDAO dao = new CadastroClienteDAO();
// / trabalhar no codigo pra salvar mais coisas
cadasClient.setNomeCliente(getJTextFieldNome().getText());
dao.adiciona(cadasClient);
System.out.println("Gravado");
} catch (SQLException e) {
e.printStackTrace();
}
}
});
}
return BotaoSalvarCliente;
}
}
[/code]