Dúvida! This method must return a result of type boolean

5 respostas
NotleRow

Bom dia galera Guj!

Tenho uma classe que se chama "Teste" e nessa classe contém alguns métodos que me fazem executar uma consulta do tipo select no meu banco de dados. Tenho outra classe chamada "TesteTeste" contendo o método main para executar os métodos invocados na classe "Teste".

Vamos ao erro:

"This method must return a result of type boolean"

Sei que é um erro básico, mas estou tendo dificuldades para resolve-lo.

package br.com.Solumin.ConnectionDataBase;

import javax.swing.*;
import java.sql.*;

public class Teste{
	
	public boolean getTeste(){
		
		try {
			   Connection oConn = BancoDeDados.Conectar();
			   if(oConn==null) {
				   throw new SQLException("Erro na abertura do banco");	   
			   }
			   JOptionPane.showMessageDialog(null,"Banco conectado");
			   Statement stmt = oConn.createStatement(); 
			 
			   String sSql = "select * from tbTeste order by nome";
			   JOptionPane.showMessageDialog(null,"Cláusula sql \n"+sSql);
			  			   
			   			   
			   ResultSet rs = stmt.executeQuery(sSql);
			   while(rs.next()){
				   System.out.println(rs.getString("IdTeste"));
				   System.out.println(rs.getString("Nome"));
			   }
			   
			   stmt.close();
			   BancoDeDados.FecharConn(oConn);
			      
			   JOptionPane.showMessageDialog(null,"Banco desconectado!!!");
			  } catch (SQLException sqle) {
				    System.err.println(sqle.getMessage());
				   				    
				  }
			  
		}
	
	}
package br.com.Solumin.ConnectionDataBase;

import javax.swing.*;

public class TesteTeste{

public static void main(String []args){
	
	if(args.length == 0){
		System.out.println("É necessária pelo menos uma opção");
		System.exit(0);
	}
	
	//verifica opção do usuário
	int opcao = Integer.parseInt(args[0]);
	
	switch(opcao){
		
	case 1://seleção dos dados
		JOptionPane.showMessageDialog(null,"Seleção de dados.");
		resp rs = r.getTeste(args[1], args[2]);
		if(resp){
			System.out.println("Seleção feita com sucesso!");
		}
		break;
		
   
	
	}
  }
}

5 Respostas

T

Bom, esta rotina

public boolean getTeste(){

deve ter pelo menos um “return false;” ou “return true;” ou alguma coisa parecida. Se ela não precisar retornar nada, troque “public boolean” por “public void”.

gui_sv

vc esta esqeucendo de colocar o return…

uma vez q seu metodo retorna boolean … ele precisa retornar true / false

vc precisa adicionar exemplo:

if ( i > 10) { return true; }else { return false; }

lelodois
NotleRow:
Bom dia galera Guj!

Tenho uma classe que se chama "Teste" e nessa classe contém alguns métodos que me fazem executar uma consulta do tipo select no meu banco de dados. Tenho outra classe chamada "TesteTeste" contendo o método main para executar os métodos invocados na classe "Teste".

Vamos ao erro:

"This method must return a result of type boolean"

Sei que é um erro básico, mas estou tendo dificuldades para resolve-lo.

package br.com.Solumin.ConnectionDataBase;

import javax.swing.*;
import java.sql.*;

public class Teste{
	
	public boolean getTeste(){
		
		try {
			   Connection oConn = BancoDeDados.Conectar();
			   if(oConn==null) {
				   throw new SQLException("Erro na abertura do banco");	   
			   }
			   JOptionPane.showMessageDialog(null,"Banco conectado");
			   Statement stmt = oConn.createStatement(); 
			 
			   String sSql = "select * from tbTeste order by nome";
			   JOptionPane.showMessageDialog(null,"Cláusula sql \n"+sSql);
			  			   
			   			   
			   ResultSet rs = stmt.executeQuery(sSql);
			   while(rs.next()){
				   System.out.println(rs.getString("IdTeste"));
				   System.out.println(rs.getString("Nome"));
			   }
			   
			   stmt.close();
			   BancoDeDados.FecharConn(oConn);
			      
			   JOptionPane.showMessageDialog(null,"Banco desconectado!!!");
			  } catch (SQLException sqle) {
				    System.err.println(sqle.getMessage());
				   				    
				  }
			  
		}
	
	}
package br.com.Solumin.ConnectionDataBase;

import javax.swing.*;

public class TesteTeste{

public static void main(String []args){
	
	if(args.length == 0){
		System.out.println("É necessária pelo menos uma opção");
		System.exit(0);
	}
	
	//verifica opção do usuário
	int opcao = Integer.parseInt(args[0]);
	
	switch(opcao){
		
	case 1://seleção dos dados
		JOptionPane.showMessageDialog(null,"Seleção de dados.");
		resp rs = r.getTeste(args[1], args[2]);
		if(resp){
			System.out.println("Seleção feita com sucesso!");
		}
		break;
		
   
	
	}
  }
}

Falta vc retornar um boolean conforme vc prometeu na assinatura do método
public boolean getTeste(){

vc deverá colocar no escopo do metodo um ex..
return true;
e no catch
} catch (SQLException sqle) {
	    System.err.println(sqle.getMessage());
   	    return false;		    
  }
NotleRow

Obrigado galera!

Era isso mesmo.

Aconteceu outro erro na classe que contém o main, mas isso eu vou pesquisar antes de postar aqui!

Até mais!

T

O erro quer dizer “não sei o que é r. Um método? Uma variável? Um parâmetro? Um erro de digitação”?

Criado 13 de outubro de 2008
Ultima resposta 14 de out. de 2008
Respostas 5
Participantes 4