Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

horacio2009

classe para pesquisa

Recommended Posts

pessoal, boa noite, tudo bem com vocês?

seguinte...

quero criar uma classe para descobrir o nome do vendedor a partir do código dele...

aí, fiz a classe dessa forma:

package brincadeiras;

import BancodeDados.Conexao;
import java.sql.SQLException;
import javax.swing.JOptionPane;

public class Outraclasse {

   public int codigo;

//criando o construutor
   public Outraclasse(int codigo) {
       this.codigo = codigo;
   }
   public String operador;

   public void pesquisa(int codigo) {
     //  operador = ""+codigo;}

       Conexao conectabanco = new Conexao();
       conectabanco.conecta();
       conectabanco.executeSQL("select * from vendedores where codigo='"+codigo+"'");
       try {
           operador = "" + conectabanco.resultset.getString("nome");
       } catch (SQLException erro) {
           JOptionPane.showMessageDialog(null, "Erro " + erro.getMessage());
       }

       conectabanco.desconecta();
   }

}

a parte de banco de dados uso num outro formulario e funciona certo...a pesquisa é de lá, também...mas ainda dá erro "NULL"(a joption ai da classe que alerta o erro...)

 

eu estou chamando a classe assim:

 

public class Main {

   public static void main(String[] args) {


       int codigo=71;
       Outraclasse pesquisa_ = new Outraclasse(codigo);
       pesquisa_.pesquisa(codigo);
       System.out.println("meu nome é "+pesquisa_.operador);


   }
}


 

o caso é que ele passa o valor pq testei , descomentando o " // operador = ""+codigo;}", mesmo assim, a pesquisa, calcada nesse código, não funciona, aparece null...

enfim, não sei como resolver essa pessoal, me ajudem!!!

Mai um vez, obrigado por essa e pelos posts anteriores!!!

Valeu, gente!!

Horácio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, você já ouviu falar de DAO? Acho que isso resolverá 75% dos seus problemas. Descobrir erros no seu código é muito complicado. Sempre que estiver com problemas como esse, tenta postar a pilha de erros e a linha que dispara a excessão. Pelo que você descreveu a única coisa que posso fazer é chutar: falha na conexão, erro de sintaxe do seu SQL ou o campo "nome" não existe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

então...não tem pilha de erro quando executo no netbeans...aparece apenas "nome null" que é o retorno pelo cacth....

 

SE fiser diferença, vou postar a classe que faz a conexão e os processos de consultas...

 

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package BancodeDados;

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

/**
*
* @author Administrador
*/
public class Conexao {
final private String driver="com.mysql.jdbc.Driver";
final private String url="jdbc:mysql://localhost/Avon" ;
final private String usuario="root" ;
final private String senha="root" ;
public Connection conexao;
public  Statement statement;
public  ResultSet resultset;



public boolean conecta()
{
//+++++++++++++++++++++aqui vou conetar++++++++++++++++++++++++++++++++++++++++++++++

boolean result =true;

try
{
Class.forName(driver);
conexao = DriverManager.getConnection(url,usuario, senha);
//JOptionPane.showMessageDialog(null, "Driver carregado!");
}

catch(ClassNotFoundException Driver)
{
JOptionPane.showMessageDialog(null, "Driver não carregado!");
result = false;
}
catch(SQLException fonte)
{
   JOptionPane.showMessageDialog(null, "erro na conexao" + fonte);
result = false;
}
return result;
   }
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//+++++++++++++++++++++aqui vou desconetar++++++++++++++++++++++++++++++++++++++++++++++
public void desconecta(){
boolean result=true;
 try{ conexao.close();
 //JOptionPane.showMessageDialog(null, "Desconectado");
 }
 catch(SQLException ErroSQL){
 JOptionPane.showMessageDialog(null, "não foi possível fechar obanco de dados "+ErroSQL.getMessage());
 result=false;
 }

}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

public void executeSQL(String  sql){
try
{
statement = conexao.createStatement();
resultset=statement.executeQuery(sql);
}
catch(SQLException sqlex)
 {
JOptionPane.showMessageDialog(null, "não foi possível executar o comando "+ sqlex.getMessage() +"a instrução passada foi "+
sql);
 }
}

}

 

é meio extenso, mas pode ajudar...obrigado pela atenção!!

Horácio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troca o JOptionPane q exibe o erro, por e.printStackTrace(); dai copie todo erro q ele vai imprimir e cola aqui pra gente dar uma olhada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.