Boa Tarde Galera,
Estou com 2 problemas e não consigo resolver, são eles:]
1° Buscar uma ID ja existente no meu banco.
2° Quando eu preciono o Gravar o meu painel tem que estar com todos os Jtextfields preenchidos senão da erro.
Eu já tentei diversos códigos e não consegui resolver.
As minhas classes são essas e acho que só elas serão necessárias para me ajudar.
DAO - Faz a conexão com o Dbconection
[code]import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Collection;
public abstract class DAO {
public int executeSQL(String sql) {
int r = 0;
Connection con = null;
Statement st = null;
try {
con = DBConnection.getConnection();
st = con.createStatement();
r = st.executeUpdate(sql);
} catch (SQLException e) {
System.out.println("erro "+e);
} finally {
DBConnection.closeStatement(st);
DBConnection.closeConnection(con);
}
return r;
}
protected Collection executeQuery(String sql) {
ResultSet rs = null;
Connection con = null;
Statement st = null;
ArrayList al = new ArrayList();
try {
con = DBConnection.getConnection();
st = con.createStatement();
rs = st.executeQuery(sql);
while (rs.next()) {
al.add(createObject(rs));
}
} catch (SQLException e) {
System.out.println("erro "+e);
} finally {
DBConnection.closeResultSet(rs);
DBConnection.closeStatement(st);
DBConnection.closeConnection(con);
}
return al;
}
protected abstract Object createObject(ResultSet rs) throws SQLException;
}
[/code]
CdDao aonde trato os comandos em Mysql
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Collection;
public class CdDAO extends DAO {
static Object getInstance() {
throw new UnsupportedOperationException("Not yet implemented");
}
public int inserirCd(Cd obj) {
return executeSQL("INSERT INTO CD (CODCD,TITULO,AUTOR,GENERO,ANO,QTDFAIXAS,TEMPOTOTAL) "
+ "VALUES('" + obj.getCodCd() + "','" + obj.getTitulo() + "','"
+ obj.getAutor() + "','" + obj.getGenero() + "'," + obj.getAno() + ","
+ obj.getQtdFaixas() + "," + obj.getTempoTotal() + ") ");
}
public Collection selecionarTodos() {
return executeQuery("SELECT * FROM CD ORDER BY CODCD");
}
public int excluirCd(Cd obj) {
return executeSQL("DELETE FROM CD WHERE CODCD='" + obj.getCodCd()
+ "'");
}
public int alterarCd(Cd obj) {
return executeSQL("UPDATE CD SET TITULO='" + obj.getTitulo() + "',"
+ "AUTOR='" + obj.getAutor() + "',GENERO='" + obj.getGenero() + "',"
+ "ANO= " + obj.getAno() + ","
+ "QTDFAIXAS= " + obj.getQtdFaixas() + ","
+ "TEMPOTOTAL= " + obj.getTempoTotal() + " WHERE CODCD='" + obj.getCodCd() + "' ");
}
public int buscaCod (Cd obj){
return executeSQL("SELECT CODCD FROM CD WHERE CODCD LIKE'" + obj.getCodCd() + "' ");
}
@Override
protected Object createObject(ResultSet rs) throws SQLException {
Cd obj = new Cd();
obj.setCodCd(rs.getString("CODCD"));
obj.setTitulo(rs.getString("TITULO"));
obj.setAutor(rs.getString("AUTOR"));
obj.setGenero(rs.getString("GENERO"));
obj.setAno(rs.getString("ANO"));
obj.setQtdFaixas(rs.getString("QTDFAIXAS"));
obj.setTempoTotal(rs.getString("TEMPOTOTAL"));
return obj;
}
}
Botão de Jtextfiel - codcd
Já está com erro
[code]
private void codcdActionPerformed(java.awt.event.ActionEvent evt) {
PreparedStatement query;
query = exe ().prepareStatement("Select COD from cd where id = " + Cd.getCodCd());
ResultSet rs = query.executeQuery();
if (rs.next())
System.out.println(“Id existe”);
else
System.out.println(“Id não existe”);
} [/code]
Botão Gravar
[code]
private void gravarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String codCd = codcd.getText();
String Titulo = titulo.getText();
String Autor = autor.getText();
String Genero = genero.getText();
String Ano = ano.getText();
String Faixas = faixas.getText();
String TempoTotal = tempo.getText();
// Cd obj = new Cd (codCd,Titulo,Autor,Genero,Ano,Faixas,TempoTotal);
Cd obj = new Cd (codCd,Titulo,Autor,Genero,Ano,Faixas,TempoTotal);
CdDAO dao=new CdDAO();
int r= dao.inserirCd(obj);
if(r==0){
JOptionPane.showMessageDialog(null, "Cadastre o Cd com um novo codigo",
"Mensagem de Erro",JOptionPane.ERROR_MESSAGE,null);
}else{
JOptionPane.showMessageDialog(null, "Dados gravados com sucesso !!!",
"Mensagem",JOptionPane.WARNING_MESSAGE,null);
}
} [/code]
Se algume souber como me ajudar fico grato.
[]s
Vinicius