Erro Chato Na Conexao JDBC

12 respostas
colored

Tipo to terminando a parte de seta os dados do banco pra aplicação…
Mas do mesmo jeito que deu erro qdo eu aprendi isso na facu deu aki…

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.beans.Statement;
import java.sql.*;

public class Classe2 extends MeuProjeto implements KeyListener{
	
	public Classe2(){
		TxBusca.addKeyListener(this);
		
		
	}

	public void keyPressed(KeyEvent e) {
		if(e.getSource()== TxBusca && e.getKeyCode() == e.VK_ENTER){
			ResultSet rs;
			Statement MeuState;
       		String Url = "jdbc:odbc:Estoque";
       		try
			{
       			Class.forName("sun.jdbc.odbc.jdbcOdbcDriver");
       			Connection Conexao = DriverManager.getConnection(Url);
       			MeuState = (Statement) Conexao.createStatement();
       			String SQL ="SELECT * FROM PRODUTOS";
       			rs = ((java.sql.Statement) MeuState).executeQuery(SQL);
       			rs.next();
			}
			
			
				catch (ClassNotFoundException ex){
	       			JOptionPane.showMessageDialog(null,"Driver JDBC-ODBC não encontrado","Mensagem",1);
	       			System.exit(0);
	       			
	       			
	       		}
	       		catch(SQLException ex){
	       			JOptionPane.showMessageDialog(null,"Erro de SQL","Mesagem",1);
	       			System.exit(0);
	       			
	       			
			}
			
			}
			
	}

12 Respostas

colored

Na Linha 23. Nessa Parte Conexao.createStatement();
e Na Linha 25 executeQuery…
n sei por que ja tentei algumas coisa mas nd…
Tipo qdo pego o atalho ctrl F1 ele pede pra fazer um casting
mas mesmo assim n ta rolando alguem com olhos melhores que os meus pode ver q erro q é…

celso.martins

O erro não está na URL de conexão?
Qual base de dados você está utilizando?
Que excessão está te retornando?
Tenho um exemplo de conexão nesse tópico http://www.guj.com.br/posts/list/73552.java que coloquei para o povo avaliar a modelagem.

Abraços

colored

Access hum a url n pod ser pq copiei ela de outros que ja tinha feito e usando a mesma base…
isso q é estranho…

Quando eu coloco o casting que o eclipse pede…
Ele cai na excessao ClassNotFoundException eu axo n lembro nome
e tem a SqlException tb

colored

Editei o Codigo agora ta completo ali

celso.martins

Fora o rs.next() que na verdade só vai andar o ponteiro e não vai fazer mais nada, só vejo locais de possíveis erros, as linhas 19 e 24.

Você deu uma olhada no post que te enviei?

Tenta usar o PreparedStatement.

Tenta fazer algo do tipo:

try{
			Driver driver = (Driver)Class.forName(this.driverName).newInstance();
			DriverManager.registerDriver(driver);
		}catch (Exception e){
			System.out.println("Impossivel carregar/registrar driver JDBC");
		}

e depois

PreparedStatement stmt;
try {
  sql  = " SELECT nextval(\'" + sequencia + "\') ";
  stmt = getConn().prepareStatement(sql);
  ResultSet rs = stmt.executeQuery();
  while ((rs != null) && (rs.next())) {
    retorno = rs.getLong(1);
  }
}catch(Exception e) {
  e.printStackTrace();
}
colored

oO Meio Complicado kk…
Entao Celso no que eu disse… Testei a conexao com um banco aki ta tranquilo funcionando

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

	public class Roco 
	{	
		public static void main ( String arg[])
		{
			String Url = "jdbc:odbc:Estoque";
			try
			{
				Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
				Connection Conexao = DriverManager.getConnection(Url);
				JOptionPane.showMessageDialog(null,"Conexão estabelecida \nCom o banco de dados \n Estoque.mdb\ne...encerrada !","mensagem",1);
				Conexao.close();
				System.exit(0);
			}
			catch(ClassNotFoundException e)
			{
				JOptionPane.showMessageDialog(null,"Driver JDBC-ODBC não encontrado ","Mensagem",1);
				System.exit(0);
			}
			catch(SQLException e)
			{
				JOptionPane.showMessageDialog(null, "Problemas na conexão com a fonte dos dados","Mensagem",1);
				System.exit(0);
			}	
		}
	}
celso.martins

Blz, então o erro está só no casting?

Tenta com PreparedStatement. É facinho de usar!

colored

Um dos possiveis erros eu achei…
No ClassForName tinha j e era J ;D

colored

Olha soh qq deu…
Tipo na hora de declara o MeuState
tava Statement MeuState ai agora eu dei ctrl 1 lah apareceu pra
troca n sei oq
ai mudo de Statement p/ java.sql.Statement

colored

Valeu Celsoo foi treta mas conseguimos .D

celso.martins

Conseguimos não, você conseguiu. =)

Parabéns!

colored

o/

Criado 6 de novembro de 2007
Ultima resposta 6 de nov. de 2007
Respostas 12
Participantes 2