Galera, depois de um bom tempo sem mecher com swing, mais ou menos 2 anos, estou precisando de uma ajudinha…
meu problema:
Não consigo gerar uma serial pra o meu id, usando o jdbc… ei o código:
[code]public void criaTabelaSManutencao() {
ConexaoBD conBD = ConexaoBD.getInstancia();
Connection conn = conBD.getConexao();
Statement stmt;
StringBuffer string = new StringBuffer();
string.append("create table manutencao (");
string.append("cod_manutencao integer primary key, ");
string.append("cod_cliente integer, ");
string.append("cod_funcionario integer, ");
string.append("defeito varchar(50), ");
string.append("analista varchar(20), ");
string.append("status varchar(20), ");
string.append("data varchar(10), ");
try {
stmt = conn.createStatement();
stmt.execute(string.toString());
} catch (SQLException e) {
e.printStackTrace();
} finally {
conBD.desconectar();
}
}
public void insereSManutencao(Manutencao smanutencao) {
ConexaoBD conBD = ConexaoBD.getInstancia();
Connection conn = conBD.getConexao();
PreparedStatement stmt;
try {
stmt = conn.prepareStatement("insert into smanutencao values(?,?,?,?,?,?,?)");
stmt.setInt(1, smanutencao.getCod_manutencao());
stmt.setInt(2, smanutencao.getCod_cliente());
stmt.setInt(3, smanutencao.getCod_funcionario());
stmt.setString(4, smanutencao.getDefeito());
stmt.setString(5, smanutencao.getAnalista());
stmt.setString(6, smanutencao.getStatus());
stmt.setString(7, smanutencao.getDataPrevisao());
stmt.execute();
} catch (SQLException e) {
e.printStackTrace();
} finally {
conBD.desconectar();
}
}[/code]
Minha classe.java
[code]public class Manutencao{
private int cod_manutencao;
private int cod_cliente;
private int cod_funcionario;
private String defeito;
private String analista;
private String status;
private String dataPrevisao;
//Demais codigos…[/code]
exatamente nesta linha:
eu sei que eu poderia alterar e colocar comente serial primary key… porem quando eu vou tentar inserir o valor, ele da pau… ele fala que o “cod_manutencao” tem que ser integer… alguem poderia me ajudar a relembrar isso?
Só por via das dúvidas, estou colocando ai o meu método de inserir tambem…
public void insereSManutencao(Manutencao smanutencao) {
ConexaoBD conBD = ConexaoBD.getInstancia();
Connection conn = conBD.getConexao();
PreparedStatement stmt;
try {
stmt = conn.prepareStatement("insert into smanutencao values(?,?,?,?,?,?,?)");
stmt.setInt(1, smanutencao.getCod_manutencao()); // linha que dá defeito..
stmt.setInt(2, smanutencao.getCod_cliente());
stmt.setInt(3, smanutencao.getCod_funcionario());
stmt.setString(4, smanutencao.getDefeito());
stmt.setString(5, smanutencao.getAnalista());
stmt.setString(6, smanutencao.getStatus());
stmt.setString(7, smanutencao.getDataPrevisao());
stmt.execute();
} catch (SQLException e) {
e.printStackTrace();
} finally {
conBD.desconectar();
}
}