Olá gente!
Bem, eu já vi uns exemplos de como fazer alterações na tabela, mas ainda não consegui entender como eu consigo mudar esses dados no banco.
To tentando com uma tabela bem simples, com dois campos: o código e o nome do tipo. O código é gerado automaticamente por uma sequencia no banco de dados, então o usuário não pode alterar ele.
Eu tenho um método alterar e um excluir no meu Controller, que são assim:
public void alterar(/**int codigotipo,*/ String nometipo) throws ParseException, SQLException {
Tipo tipo = new Tipo();
//tipo.setCodigo(codigotipo);
tipo.setNome(nometipo);
new TipoDao().alterar(tipo);
}
public void excluir(String nome) throws SQLException {
new TipoDao().excluir(nome);
}
No meu DAO tenho as consultas:
[code]
public void alterar(Tipo tipo) throws SQLException {
String update = "UPDATE tipomedicamento " +
“SET nometipo = ?” +
“WHERE nometipo = ?”;
update(update, tipo.getNome());
}
public void excluir(String nome) throws SQLException {
String delete = "DELETE FROM tipomedicamento WHERE nometipo = ?";
delete(delete, nome);
}[/code]
Tenho minha TableModel, que é basicamente igual a uma que o ViniGodoy postou de exemplo aqui no GUJ, que é assim:
[code]
package tipo.model;
import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;
/**
*
-
@author Munique
*/
public class TipoTableModel extends AbstractTableModel {
private static final int COL_CODIGO = 0;
private static final int COL_NOME = 1;private List valores;
public TipoTableModel(List valores){
this.valores = new ArrayList(valores);
}public int getRowCount() {
return valores.size();
}public int getColumnCount() {
return 2;
}public String getColumnName(int column) {
if (column == COL_CODIGO) return “Código”;
if (column == COL_NOME) return “Nome do Tipo”;
return “”;
}public Object getValueAt(int row, int column) {
Tipo nome = valores.get(row);
if (column == COL_CODIGO) return nome.getCodigo();
else if (column == COL_NOME) return nome.getNome();
return “”;
}public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
Tipo tipo = valores.get(columnIndex);
if (columnIndex== COL_NOME) tipo.setNome(aValue.toString());
else if (columnIndex== COL_CODIGO) tipo.setCodigo(Integer.parseInt(aValue.toString()));
}public Class<?> getColumnClass(int columnIndex) {
return String.class;
}public boolean isCellEditable(int rowIndex, int columnIndex) {
return false;
}public Tipo get(int row) {
return valores.get(row);
}/**public void getLinhaTAbela(){
getValueAt(COL_NOME, COL_NOME);
}*/
}[/code]
E tenho uma view chamada ControleTipo, que fiz pelo editor de Swing do Netbeans, nela eu tenho botões para Inserir, Editar e Excluir. O Inserir tá funcionando certinho, mas estou tendo problemas com o editar e excluir. Alguém pode me ajudar?
