Erro ao trazer dado do banco

5 respostas
gabrielgirodo

Pessoal, boa tarde.

Estou tentando trazer um campo, texto, do banco de dados e alocalo em uma textArea. Meu programa funciona da seguinte maneira:

Digita-se um texto em um textField. Esse textField eu passo como parâmetro para a query " Select * from meu_bd where coluna_ = " + textField.getText());

E então eu jogo isso na textArea.

O problema é que ele me da erro quando eu uso o nome do meu textFiel.getText(). :? Não sei mais o que fazer. Ficou claro?

PS: Os comandos estão certos, eu só não coloquei o nome das minhas variáreis. No lugar de “textField” é o nome correto da minha variável, ok? E assim vai pra todas as outra no código acima.

PSS: Eu estou usando o ECLIPSE.

Abraço,

Gabriel.

5 Respostas

rafaelpaz

ta utilizando algum framework de persistencia, ou jdbc mesmo?? Posta o código pra gente ver…

jidlafe

Olá Gabriel.
Está um pouco confuso para entender o teu problema.
Mostre o código fonte da tua aplicação e o erro.

Assim fica fácil de entender.

FelipeGalli

Muito confuso

felipekeller

Manda o erro que está ocorrendo…e tem certeza que você quer buscar tudo da tabela? “select *”

gabrielgirodo
import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.*;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import javax.swing.*;

public class chatterbot extends JFrame implements ActionListener

{

private static Connection connection;
JLabel escreva;
JButton ok;
static JTextField linha;
static TextArea texto;

public chatterbot()
{
	JFrame frame = new JFrame("Chatter Teste");
	frame.setSize(500,300);
	frame.setLocation(400,200);
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	
	escreva = new JLabel("Escreva aqui:");
	escreva.setLocation(20,220);
	escreva.setSize(100,30);
    
	linha = new JTextField ("");
	linha.setLocation(100,225);
	linha.setSize(300,20);
	
	texto = new TextArea ("",5,40,1);
	texto.setLocation(10,10);
	texto.setSize(450,180);
	//texto.disable();
	
	ok = new JButton("ok");
	ok.setLocation(420,210);
	ok.setSize(50,50);
	ok.addActionListener((ActionListener) this);
	
	
	
	frame.getContentPane().setLayout(null);
	frame.getContentPane().add(escreva);
	frame.getContentPane().add(linha);
	frame.getContentPane().add(texto);
    frame.getContentPane().add(ok);
	
	frame.show();
}

public static void FazConexao() 
{

	System.out.println("Vai fazer a conexão");

	// O URL que especifica o banco de dados chatbot ao qual
	// esse programa se conecta, utilizando JDBC para conectar a um
	// banco de dados Microsoft ODBC.
	// Carrega o driver para permitir conexão ao banco de dados
	try 
	{
		Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
		connection = DriverManager.getConnection("jdbc:odbc:chatterbot", "",
				"");
		System.out.println("conexão com sucesso");
	} 
	catch (ClassNotFoundException cnfex) 
	{
		System.err.println("FALHA NA CONEXÃO DO BANCO DE DADOS");
		cnfex.printStackTrace();
		System.exit(1);
	}
	catch (SQLException sqlex) 
	{
		System.err.println("BANCO DE DADOS NÃO DISPONIVEL");
		sqlex.printStackTrace();
	}
}














public static void main(String args[])
{
	FazConexao();
	new chatterbot();
}	
	
public void actionPerformed(ActionEvent botoes)
{
	Connection con = connection;
	
	if(botoes.getSource()==ok)
		{
		
		
		try
        {
							
		  Statement st = con.createStatement();
		  ResultSet res = st.executeQuery("SELECT * FROM falas WHERE pergunta = " +linha.getText());
					
		  if (res.next())
	
                  	      texto.setText(res.getString("resposta"));
		  
			
	    }
        catch (SQLException sqlex) 
       {
			System.out.println("erro sql " + sqlex);
			sqlex.printStackTrace();
		}
		
   	}
	
		
		
		}
}
Criado 17 de março de 2010
Ultima resposta 21 de mar. de 2010
Respostas 5
Participantes 5