| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/07/2005 11:03:16
|
vsouza
Entusiasta Java
Membro desde: 05/05/2005 15:26:41
Mensagens: 17
Offline
|
Meus caros, estou tentando conectar ao banco de dados e fazer uma query de uma forma, mas não está dando certo e não consigo entender o porque:
**** CLASSE CONECTABD:
package labsem;
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; import java.sql.ResultSet;
public class Conectabd {
public Connection conn = null;
public Statement stm = null;
public void getConnection() {
try {
Class.forName ("com.mysql.jdbc.Driver");
}
catch(java.lang.ClassNotFoundException e) {
System.err.print("ClassNotFoundException:");
System.err.println(e.getMessage());
};
try {
Connection conn = DriverManager.getConnection("jdbc:mysql://XXX/BD?user=admmysql&password=XXX");
} catch (SQLException ex) {....
}
}
}
*****CLASSE QUE FAZ A QUERY CHAMANDO A CONEXAO:
package labsem;
import javax.swing.JOptionPane;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
public class Consultaanalise extends Conectabd{
public String consultaAnalisebd(String id_reg) {
getConnection(); //METODO DA CLASSE CONECTABD
if (conn==null){ //SEMPRE CAI AQUI!!!!!!!!!!!!!
JOptionPane.showMessageDialog(null,"Não foi possível conectar ao banco de dados, fale com o administrador.");
}else {
try {
stm = conn.createStatement(); //usa a variavel da classe bd
ResultSet rs = stm.executeQuery("SELECT ....");
} catch (SQLException ex) {....
}
}
return RESPOSTA;
}
}
MAS SEMPRE CAI NO PRIMEIRO IF, QUE TESTA SE O VALOR ESTA NULO!!
OU SEJA A VARIVEL CONN ESTÁ VINDO NULA
SE eu por tudo em uma unica classe funciona normalmente.
O que fazer?
vsouza
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/07/2005 11:08:49
|
pauloperes
JavaEvangelist
![[Avatar]](/images/avatar/eab9c5e9815adc4c40a6557495eed6d3.png)
Membro desde: 01/03/2005 11:45:20
Mensagens: 414
Offline
|
Vsouza,
Veja, vc chama no método getConnection(), vc naum está retornando nada, faça assim:
E depois na sua classe que pega uma conexão vc naum criou ela, tente fazer assim:
Obs.: Procure colocar os seus códigos dentros das tags code.
Valeu,
Paulo
|
Paulo
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/07/2005 11:13:10
|
pauloperes
JavaEvangelist
![[Avatar]](/images/avatar/eab9c5e9815adc4c40a6557495eed6d3.png)
Membro desde: 01/03/2005 11:45:20
Mensagens: 414
Offline
|
Vsouza,
Mais um detalhe, no seu método consultaAnalisebd(), vc deveria estar retornando um ResultSet e não uma string na minha opinião,
Atenciosamente,
Paulo
|
Paulo
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/07/2005 11:16:12
|
Luiz-SP
JavaChild
![[Avatar]](/images/avatar/c90727d8411598cb2f8db.jpg)
Membro desde: 10/01/2004 23:20:19
Mensagens: 131
Localização: São Paulo
Offline
|
tenta assim
Deixa eu te fazer uma pergunta, vc manja de sql?
|
"Porque Deus amou o mundo de tal maneira que deu seu filho unigênito para que todo aquele que nele crê não pereça, mas tenha vida eterna." João 3.16 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/07/2005 11:24:09
|
vsouza
Entusiasta Java
Membro desde: 05/05/2005 15:26:41
Mensagens: 17
Offline
|
Olá Paulo, desde já muito obrigado pela ajuda, mas veja, desta vez eu colquei da forma que está falando mas continua com o mesmo problema:
MAS AINDA ASSIM ELE DIZ QUE A VARIAVEL ESTA NULA!!! MAS TENHO CERTEZA QUE SE COLOCAR TUDO EM UMA SÓ CLASSE NÃO APRESENTA ERRO!!!
vsouza
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/07/2005 11:30:16
|
pauloperes
JavaEvangelist
![[Avatar]](/images/avatar/eab9c5e9815adc4c40a6557495eed6d3.png)
Membro desde: 01/03/2005 11:45:20
Mensagens: 414
Offline
|
Souza,
Como vc está estendo a sua classe, tenta assim na segunda:
Ops, tava esquecendo, baixe esta apostila, tem um ótimo conteudo sobre banco de dados em um dos capitulos.
http://www.linux.ime.usp.br/~lopes/caelum/fj21.pdf
Atenciosamente
Paulo
This message was edited 1 time. Last update was at 29/07/2005 11:33:19
|
Paulo
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/07/2005 11:31:56
|
vsouza
Entusiasta Java
Membro desde: 05/05/2005 15:26:41
Mensagens: 17
Offline
|
Luiz o problema não é com Driver ou com a conexao em Sí, pois a conexao esta normal, ja testei colocando tudo em uma unica classe, porém se separar as tarefas quando retorno a conexao a classe que recebe diz q está nula.
Quanto ao sql, um pouco, não sou nenhum craque....
victor
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/07/2005 11:40:08
|
vsouza
Entusiasta Java
Membro desde: 05/05/2005 15:26:41
Mensagens: 17
Offline
|
é nao funcionou... continua recebendo nula...
tentei até instanciando ao invés de extender....
Vsouza
pauloperes wrote:Souza,
Como vc está estendo a sua classe, tenta assim na segunda:
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/07/2005 11:45:31
|
pauloperes
JavaEvangelist
![[Avatar]](/images/avatar/eab9c5e9815adc4c40a6557495eed6d3.png)
Membro desde: 01/03/2005 11:45:20
Mensagens: 414
Offline
|
Souza,
Faz mais um teste ai, joga o Class.forName e a instanciação de suca conexão dentro do try.
Aguardo para ver se funcionou.
Atenciosamente,
Paulo
|
Paulo
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/07/2005 11:49:58
|
Luiz-SP
JavaChild
![[Avatar]](/images/avatar/c90727d8411598cb2f8db.jpg)
Membro desde: 10/01/2004 23:20:19
Mensagens: 131
Localização: São Paulo
Offline
|
Então, acho que vc tem que devolver um objeto Connection no getConnection, então na ConsultaAnalise vc cria uma instância do ConectaBb e usa o getConncetion para um connection que local de ConsultaAnalise.
|
"Porque Deus amou o mundo de tal maneira que deu seu filho unigênito para que todo aquele que nele crê não pereça, mas tenha vida eterna." João 3.16 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/07/2005 11:55:31
|
vsouza
Entusiasta Java
Membro desde: 05/05/2005 15:26:41
Mensagens: 17
Offline
|
Paulo vc vai querer me matar... mas me diz como tem q ser o catch nesse caso pfavor... que sou iniciante ainda!!!
tentei:
dá erro no catch...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/07/2005 12:44:44
|
pauloperes
JavaEvangelist
![[Avatar]](/images/avatar/eab9c5e9815adc4c40a6557495eed6d3.png)
Membro desde: 01/03/2005 11:45:20
Mensagens: 414
Offline
|
Souza,
coloca assim:
Precisando, é só falar, e sem querer ser chato, da uma lida naquela apostila que te mandei, vai ajudar pra kraramba.
Atenciosamente,
Paulo
|
Paulo
|
|
|
 |
|
|