Missing return statement?

Olá pessoal… blz… ei como diz o tópico já andei procurando a resposta pra esse probleminha aqui no forum + não encontrei… se vc poderem me ajudar eu agradeço desde já…

import java.io.*;
import java.util.*;
import java.lang.*; 
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Principal {
	
	
  static ResultSet rs;
    
  static Connection con=null;  //  cria o objeto con, para ser utilizado nas manipulacoes do banco de dados
  static Statement MeuState;  // cria um objeto statement para a pesquisa SQL
  static String url = "jdbc:odbc:dsCadCliente";
  
    private static void createAndShowGUI() {
    	
    	Color Cor1 = new Color(169,196,222);
		Color Cor2 = new Color(169,196,222);
		Color Cor3 = new Color(140,196,222);
		
		JFrame.setDefaultLookAndFeelDecorated(true);

        JFrame frame = new JFrame("Principal");
        frame.setSize(410,357);
		frame.setUndecorated(true);
		frame.setLocationRelativeTo(null);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        JPanel P1 = new JPanel();
		P1.setPreferredSize(new Dimension(397,327));
		P1.setBackground(Cor2);
        frame.getContentPane().add(P1, BorderLayout.CENTER);


	  	JLabel lCodCliente =new JLabel("Cód. Cliente:");
	  	lCodCliente.setBounds(10,3,70,30);
		
		JTextField txCodCliente = new JTextField();
		txCodCliente.setBounds(10,25,70,20);		
		
		JLabel lNome =new JLabel("Nome:");
		lNome.setBounds(90,3,40,30);
		
		JTextField txNome = new JTextField();
		txNome.setBounds(90,25, 300,20);		
		
		JLabel lCPF =new JLabel("Nº do CPF:");
		lCPF.setBounds(10,40,70,30);
		
		JTextField txCPF = new JTextField();
		txCPF.setBounds(10,62,92,20);		
		
		JLabel lRG =new JLabel("Nº do RG:");
		lRG.setBounds(112,40,60,30);
		
		JTextField txRG = new JTextField();
		txRG.setBounds(112,62, 70,20);		
		
		JLabel lLogradouro =new JLabel("Logradouro:");
		lLogradouro.setBounds(10,77,70,30);
		
		JTextField txLogradouro = new JTextField();
		txLogradouro.setBounds(10,100, 380,20);		
		
		JLabel lBairro =new JLabel("Bairro:");
		lBairro.setBounds(10,115, 70,30);
		
		JTextField txBairro = new JTextField();
		txBairro.setBounds(10,137, 115,20);	
		
		JLabel lCEP =new JLabel("CEP:");
		lCEP.setBounds(135,115, 70,30);
		
		JTextField txCEP = new JTextField();
		txCEP.setBounds(135,137, 75,20);	
		
		JLabel lCidade =new JLabel("Cidade:");
		lCidade.setBounds(220,115, 70,30);
		
		JTextField txCidade = new JTextField();
		txCidade.setBounds(220,137, 120,20);	
		
		JLabel lUF =new JLabel("UF:");
		lUF.setBounds(352,115,70,30);
		
		JTextField txUF = new JTextField();
		txUF.setBounds(352,137, 25,20);	
		
		JLabel lTelefone =new JLabel("Telefone:");
		lTelefone.setBounds(10,152,70,30);
		
		JTextField txTelefone = new JTextField();
		txTelefone.setBounds(10,175, 91,20);	
		
		JLabel lCelular =new JLabel("Celular:");
		lCelular.setBounds(111,152,70,30);
		
		JTextField txCelular = new JTextField();
		txCelular.setBounds(111,175, 91,20);	
		
		JLabel lFax =new JLabel("Fax:");
		lFax.setBounds(213,152,60,30);
		
		JTextField txFax = new JTextField();
		txFax.setBounds(213,175, 91,20);	
	
		JButton btnPrimeiro = new JButton("<");
		btnPrimeiro.setBackground(Cor3);
		btnPrimeiro.setBounds(5,5,50,25);
		btnPrimeiro.setToolTipText("Primeiro registro");
				
		JButton btnAnterior = new JButton("<<");
		btnAnterior.setBackground(Cor3);
		btnAnterior.setBounds(57,5,50,25);
		btnAnterior.setToolTipText("Registro anterior");
				
		JButton btnProximo = new JButton(">>");
		btnProximo.setBackground(Cor3);
		btnProximo.setBounds(109,5,50,25);
		btnProximo.setToolTipText("Próximo registro");		
				
		JButton btnUltimo = new JButton(">");
		btnUltimo.setBackground(Cor3);
		btnUltimo.setBounds(161,5,50,25);
		btnUltimo.setToolTipText("Último registro");
		
		JButton btnInserir = new JButton("Inserir");
		btnInserir.setBackground(Cor3);
		btnInserir.setBounds(5,5,85,25);
		btnInserir.setToolTipText("Click aqui para inserir o registro");
		
		JButton btnAlterar = new JButton("Alterar");
		btnAlterar.setBackground(Cor3);
		btnAlterar.setBounds(92,5,85,25);
		btnAlterar.setToolTipText("Click aqui para alterar o registro");
		
		JButton btnAtualizar = new JButton("Atualizar");
		btnAtualizar.setBackground(Cor3);
		btnAtualizar.setBounds(179,5,85,25);
		btnAtualizar.setToolTipText("Click aqui para atualizar o registro");
		
		JButton btnExcluir = new JButton("Excluir");
		btnExcluir.setBackground(Cor3);
		btnExcluir.setBounds(266,5,85,25);
		btnExcluir.setToolTipText("Excluir o registro");
		
		JButton btnLocalizar = new JButton("Localizar");
		btnLocalizar.setBackground(Cor3);
		btnLocalizar.setBounds(5,32,172,25);
		btnLocalizar.setToolTipText("Para localizar um registro basta preencher o campo código do cliente e clica em localizar!");

		
		JButton btnExibir = new JButton("Exibir");
		btnExibir.setBackground(Cor3);
		btnExibir.setBounds(179,32,172,25);
		btnExibir.setToolTipText("Exibir registro");
				

 		P1.setBounds( 2, 2, 400,325);
		P1.setLayout(null);
		P1.add(lCodCliente);
		P1.add(txCodCliente);
		P1.add(lNome);
		P1.add(txNome);
		P1.add(lCPF);
		P1.add(txCPF);
		P1.add(lRG);
		P1.add(txRG);
		P1.add(lLogradouro);
		P1.add(txLogradouro);
		P1.add(lBairro);
		P1.add(txBairro);
		P1.add(lCEP);
		P1.add(txCEP);
		P1.add(lCidade);
		P1.add(txCidade);
		P1.add(lUF);
		P1.add(txUF);
		P1.add(lTelefone);
		P1.add(txTelefone);
		P1.add(lCelular);
		P1.add(txCelular);
		P1.add(lFax);
		P1.add(txFax);
		P1.add(btnPrimeiro);
		P1.add(btnAnterior);
		P1.add(btnProximo);
		P1.add(btnUltimo);
		

		
		JPanel Panel_btn =new JPanel();
		Panel_btn.setBackground(Cor2);
		Panel_btn.setBorder(BorderFactory.createLoweredBevelBorder());
		Panel_btn.setBounds(93,205,216,35);
		Panel_btn.setLayout(null);
		Panel_btn.add(btnPrimeiro);
		Panel_btn.add(btnAnterior);
		Panel_btn.add(btnProximo);
		Panel_btn.add(btnUltimo);
		Panel_btn.setVisible(true);
		
		JPanel Panel_btn1 =new JPanel();
		Panel_btn1.setBackground(Cor2);
		Panel_btn1.setBorder(BorderFactory.createLoweredBevelBorder());
		Panel_btn1.setBounds(20,255,356,62);
		Panel_btn1.setLayout(null);	
		Panel_btn1.add(btnInserir);
		Panel_btn1.add(btnAlterar);
		Panel_btn1.add(btnAtualizar);
		Panel_btn1.add(btnExcluir);
		Panel_btn1.add(btnLocalizar);
		Panel_btn1.add(btnExibir);
		Panel_btn1.setVisible(true);

		
		P1.add(Panel_btn);
		P1.add(Panel_btn1);
				
		frame.add(P1);

        frame.pack();
        frame.setVisible(true);
        
        setConectar();
        
  }
    
   
 public static Connection setConectar(){ 
 try 
 { 
 Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" ); 
 Connection MinhaConexao = DriverManager.getConnection(url); 
 MeuState = MinhaConexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, 
 ResultSet.CONCUR_READ_ONLY); 
 rs = MeuState.executeQuery("SELECT * FROM Clientes"); 
 
 } 
 catch(ClassNotFoundException ex) 
 { 
 System.out.println("Driver JDBC-ODBC não encontrado!"); 
 } 
 catch(SQLException ex) 
 { 
 System.out.println("Problemas na conexao com a fonte de dados"); 
 } 
 
} 
           
   public static void Desconectar(){		
	 try {
	       MeuState.close();
	 	   con.close();		
	 	   System.out.println("Desconectado com sucesso");
	 	 } catch (Exception e)
	 	   {
	 	     e.printStackTrace();					
	 	      System.out.println("Erro ao desconectar-se");
	 	   }
	 }


    public static void main(String[] args) {

        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();                
            }
        });
    }
}

O método

public static Connection setConectar(){ 
  try 
  { 
  Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" ); 
  Connection MinhaConexao = DriverManager.getConnection(url); 
  MeuState = MinhaConexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, 
  ResultSet.CONCUR_READ_ONLY); 
  rs = MeuState.executeQuery("SELECT * FROM Clientes"); 
  
  } 
  catch(ClassNotFoundException ex) 
  { 
  System.out.println("Driver JDBC-ODBC não encontrado!"); 
  } 
  catch(SQLException ex) 
  { 
  System.out.println("Problemas na conexao com a fonte de dados"); 
  } 
  
 } 

deveria retornar uma referência para um objeto do tipo Connection, porém não achei nenhum return… Fata no fim da função:

return Minhaconexao;

Acho que é isso :slight_smile:

Abraço!

Olá Joule,

Seu método setConectar() deve retornar uma conexão, no seu caso, o objeto MinhaConexao.

[]s

Amigos desculpe minha ignorancia é pq eu sou iniciante… onde eu vou colocar o “return Minhaconexao;”… obrigado pela atenção.

 public static Connection setConectar(){ 
   try 
   { 
   Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" ); 
   Connection MinhaConexao = DriverManager.getConnection(url); 
   MeuState = MinhaConexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, 
   ResultSet.CONCUR_READ_ONLY); 
   rs = MeuState.executeQuery("SELECT * FROM Clientes"); 
   
   } 
   catch(ClassNotFoundException ex) 
   { 
   System.out.println("Driver JDBC-ODBC não encontrado!"); 
   } 
   catch(SQLException ex) 
   { 
   System.out.println("Problemas na conexao com a fonte de dados"); 
   } 
   
   return MinhaConexao;   
  } 

Obrigado pessoal… agora deu tudo certo!