Código implementando DAO

3 respostas
ricardo.cocati

Boa noite Srs.

Estou com uma dúvida cruel em um código que estou fazendo no NetBeans 5.5 sou iniciante em java…
O fato é que infelizmente depois de inúmeras tentativas e erros e visitas a inúmeros tutoriais não consigo achar o ponto onde estou errando, ou seja o que estou fazendo errado no código. Agradeço muito pelo espaço!!!

AlbunsDAOImp.java

package colecao.projeto.dao;

import colecao.projeto.Albuns;
import colecao.projeto.Conexao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

        public class AlbunsDAOImp implements DAO{//neste ponto ele pede que seja implementado todos os                //métodos abstratos, que é implementado no final deste código
		private Connection conn;
		public AlbunsDAOImp() throws Exception{
			try{
				this.conn = Conexao.getConnection();
			}catch (Exception e){
				throw new Exception ("Erro: " + ": \n" + e.getMessage());
			}
		}
		public void salvar (Albuns album) throws Exception{
			PreparedStatement ps = null;
			Connection conn = null;
			if (album == null)
				throw new Exception ("O valor passado não pode ser nulo!");
			try{
				String SQL = "INSERT INTO album (descricao_album, nome_album, iddisco, idtipo_disco, idartista)" + "values (?, ?, ?, ?, ?)";
				conn = this.conn;
				ps = conn.prepareStatement (SQL);
				ps.setString(1, album.getdescricao_album());
				ps.setString(2, album.getnome_album());
				ps.setString(3, album.getiddisco());
				ps.setString(4, album.getidtipo_disco());
				ps.setString(5, album.getidartista());
				ps.executeUpdate();
			}catch (SQLException sqle){
				throw new Exception ("Erro ao inserir dados " + sqle);
			}finally {
				Conexao.closeConnection(conn, ps);
			}
		}
		public void excluir(Albuns album) throws Exception{
			PreparedStatement ps = null;
			Connection conn = null;
			if (album == null)
				throw new Exception("O valor passado não pode ser nulo");
			try{
				conn = this.conn;
				ps = conn.prepareStatement("DELETE from album WHERE nome_album=?");
				ps.setString (1, album.getnome_album());
				ps.executeUpdate();
			}catch (SQLException sqle) {
				throw new Exception("Erro ao excluir dados: " + sqle);
			}finally {
				Conexao.closeConnection(conn, ps);
			}
		}
		public void atualizar(Albuns album) throws Exception{
			PreparedStatement ps = null;
			Connection conn = null;
			if (album == null)
				throw new Exception("O valor passado não pode ser nulo");
			try{
				String SQL = " UPDATE album SET descricao_album=?, " + " iddisco=? " + " idtipo_disco=? " + " idartista=? " + "where nome_album=?";
				conn = this.conn;
				ps = conn.prepareStatement(SQL);
				ps.setString(1, album.getdescricao_album());
				ps.setString(2, album.getnome_album());
				ps.setString(3, album.getiddisco());
				ps.setString(4, album.getidtipo_disco());
				ps.setString(5, album.getidartista());
				ps.executeUpdate();
			}catch (SQLException sqle){
				throw new Exception ("Erro ao atualizar dados: " + sqle);
			}finally {
				Conexao.closeConnection(conn, ps);
			}
		}
		public List todosAlbuns( )  throws Exception{
                    PreparedStatement ps = null;
                    Connection conn = null;
                    ResultSet rs = null;
        
                    try {
                        conn = this.conn;
                        ps = conn.prepareStatement("select * from album");
                        rs = ps.executeQuery( );
                        List<Albuns> list = new ArrayList<Albuns>( );
                        while( rs.next( ) ) {
                            String descricao_album = rs.getString( 1 );
                            String nome_album = rs.getString( 2 );
                            String iddisco = rs.getString( 3 );
                            String idtipo_disco = rs.getString( 4 );
                            String idartista = rs.getString( 5 );
                
                            list.add( new Albuns(nome_album,descricao_album,iddisco,idtipo_disco,idartista) );
                
                        }
                        return list;
            
                    } catch (SQLException sqle) {
                            throw new Exception(sqle);
                    } finally {
                            Conexao.closeConnection(conn, ps, rs);
                    }
                }
                public Albuns procurarAlbum(String nome_album) throws Exception {
                    PreparedStatement ps = null;
                    Connection conn = null;
                    ResultSet rs = null;
        
                    try {
                        conn = this.conn;
                        ps = conn.prepareStatement("select * from album where nome_album=?");
                        rs = ps.executeQuery( );
                        if( !rs.next( ) ) {
                            throw new Exception( "Não foi encontrado nenhum" + " registro com o ID: " + nome_album);
                        }
                        String descricao_album = rs.getString( 2 );
                        String iddisco = rs.getString( 3 );
                        String idtipo_disco = rs.getString( 4 );
                        String idartista = rs.getString( 5 );
                        
                        return new Albuns(nome_album,descricao_album,iddisco,idtipo_disco,idartista) ;
            
                    } catch (SQLException sqle) {
                        throw new  Exception(sqle);
                    } finally {
                        Conexao.closeConnection(conn, ps, rs);
            
                    }
                }

                public List todosAlbuns(Albuns album) throws Exception {
                }
	}
No código acima quando compilado ele informa o seguinte erro:

C:\Documents and Settings\Administrador\Colecao\src\java\colecao\projeto\dao\AlbunsDAOImp.java:148: missing return statement

}

1 error

Sei que é nesse ponto que ele informa o erro(# public List todosAlbuns(Albuns album) throws Exception {

}) porém não entendo como solucioná-lo.

E abaixo o código da inteface

DAO.java

package colecao.projeto.dao;

import colecao.projeto.Albuns;
import java.util.List;


public interface DAO {
    
    void atualizar(Albuns album) throws Exception;

    void excluir(Albuns album) throws Exception;

    Albuns procurarAlbum(String nome_album) throws Exception;

    void salvar(Albuns album) throws Exception;

    List todosAlbuns(Albuns album) throws Exception;
    
}

Classe Albuns.java

package colecao.projeto;


public class Albuns {
    
    private String nome_album;
		
    private String descricao_album;
		
    private String iddisco;
		
    private String idtipo_disco;
		
    private String idartista;

    public String getnome_album() {
        return nome_album;
    }

    public void setnome_album(String nome_album) {
        this.nome_album = nome_album;
    }

    public String getdescricao_album() {
        return descricao_album;
    }

    public void setdescricao_album(String descricao_album) {
        this.descricao_album = descricao_album;
    }

    public String getiddisco() {
        return iddisco;
    }

    public void setiddisco(String iddisco) {
        this.iddisco = iddisco;
    }

    public String getidtipo_disco() {
        return idtipo_disco;
    }

    public void setidtipo_disco(String idtipo_disco) {
        this.idtipo_disco = idtipo_disco;
    }

    public String getidartista() {
        return idartista;
    }

    public void setidartista(String idartista) {
        this.idartista = idartista;
    }

    public Albuns(String nome_album, String descricao_album, String iddisco, String idtipo_disco, String idartista) {
        
        this.nome_album = nome_album;
        this.descricao_album = descricao_album;
        this.iddisco = iddisco;
        this.idtipo_disco = idtipo_disco;
        this.idartista = idartista;
    }
}

O que pode estar ocorrendo para ocasionar esse erro??? Ou ocasionar os erros em questão???

3 Respostas

saoj
public List todosAlbuns(Albuns album) throws Exception {  
 }

Tem que retornar alguma coisa, ou NULL ou uma List.

-Sergio

ricardo.cocati

Muito obrigado meu amigo(Sérgio) já fiz a alteração com o retorno de null

public List todosAlbuns(Albuns album) throws Exception {
        return null;
    }

e ele compilou sem problemas, agradeço muito pela sua ajuda e tb ao espaço que é cedido aqui os iniciantes na linguagem isso é um grande incentivo a prosseguir…
Espero um dia poder contribuir como você!!!

saoj

Sem problemas. Te recomendo programar usando o eclipse e deixar ele em “Build Automático”.

Daí ele já te mostra esses erros a medida que vc vai digitando. Salva um tempo imenso!

-Sergio

Criado 10 de janeiro de 2008
Ultima resposta 10 de jan. de 2008
Respostas 3
Participantes 2