Busca um ID dentro do BD

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

"SELECT * FROM cd WHERE id = " + idDesejado

e para não ser obrigatório preencher tudo, coloque a cláusula NOT NULL nos campos desejados, durante a criação da tabela

Você tem certeza que está procurando a coluna correta?
Pq em todas as consultas, vc consultou por CodCD, e não por ID…

Se sim… no mínimo vc tem q fazer algo parecido com…

	public int getId (Cd obj){
		return executeSQL("SELECT ID FROM CD WHERE CODCD LIKE'" + obj.getCodCd() + "' ");
       
    }

[quote=vini_rj2000]Boa Tarde Galera,


        //...

	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() + "' ");

                   
            
        }

        //...


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

[/quote]

Galera muito obrigado pelas as informações mais eu continuo travado.

Aonde que eu coloco o Not Null??

Carlos,

Realmente a minha verificação está errada, se vc ver na classe codcd.

Vc pode verificar que eu criei um método no CDDAO aonde eu criei o buscacod que é aonde fica a consulta em mysql.

O que eu gostaria de saber é como verificar se o código existe ou não, se existir carregar os outros campos.

Se souber como me ajudar eu fico muito grato.

[quote=vini_rj2000]Galera muito obrigado pelas as informações mais eu continuo travado.

Aonde que eu coloco o Not Null??

[/quote]

Isso é na criação da tabela no MySQL

Ex.:

CREATE TABLE `CD` (
  `CODCD` int(4) NOT NULL AUTO_INCREMENT,
  `TITULO` varchar(20) NOT NULL,
  `AUTOR` varchar(50) NOT NULL,
  PRIMARY KEY (`CODCD`)
) 

[quote=vini_rj2000]
Carlos,

Realmente a minha verificação está errada, se vc ver na classe codcd.

Vc pode verificar que eu criei um método no CDDAO aonde eu criei o buscacod que é aonde fica a consulta em mysql.

O que eu gostaria de saber é como verificar se o código existe ou não, se existir carregar os outros campos.

Se souber como me ajudar eu fico muito grato.[/quote]

O que está errado é no Query do seu método codcdActionPerformed(…)

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();    

Vc ta fazendo uma busca "Select Cod From cd where ID = "+ Cd.getCodCd());
Nao sei se na sua tabela tem uma coluna ID… e se tiver… o conteudo dela é igual ao q vc ta parametro CODCD q vc ta passando?

A outra coisa… vc disse q se o resultado nao for null… vc quer o conteudo das outras colunas…
Para isso, vc tem q fazer a busca com todas as colunas que vc quer… e nao buscar somente pela coluna COD