Pesquisa em banco de dados

10 respostas
F

Seguinte pessoal, nao to conseguindo pegar o resultado da pesquisa e jogar em algum lugar, campo texto ou area de texto.to fazendo o seguinte:
String resultado = “SELECT nomeAluno FROM aluno WHERE nomeAluno LIKE '%”+texto+"’";

pesquisaNome.execute(resultado);

como eu queria o resultado no Caso o nome Marlon Mafra, coloquei assim

pesquisaNome.execute(resultado);

String teste=SELECT nomeAluno FROM aluno WHERE nomeAluno=’”+resultado+"’";

pesquisaNome.execute(teste);

System.out.println(teste);

o que eu to fazendo de errado?

10 Respostas

_Renatu

Quando for postar seu código, tente postar mais coisas, pra gente poder ter mais idéia…

A gente nao tem como saber de que classe é o objeto pesquisaNome, por exemplo…

Enfim, dá uma lida nesse tutorial, deve resolver seu problema:

http://www.guj.com.br/java.tutorial.artigo.7.1.guj

fsquadro

Foody,

Dá algum erro?

Marky.Vasconcelos

você tme toda essa parte no seu código?

String resultado = "SELECT nomeAluno FROM aluno WHERE nomeAluno LIKE '%"+texto+"'"; 

pesquisaNome.execute(resultado); 

//como eu queria o resultado no Caso o nome Marlon Mafra, coloquei assim 

String teste="SELECT nomeAluno FROM aluno WHERE nomeAluno='"+resultado+"'"; 
pesquisaNome.execute(teste); 
System.out.println(teste);

a String teste que você executa é algo como isso

SELECT nomeAluno FROM aluno WHERE nomeAluno='SELECT nomeAluno FROM aluno WHERE nomeAluno LIKE ‘%"+texto+"’

F
Seguinte pessoal , vo postar meu codigo, so o pesquisa nome que nao funciona mesmu, queria pegar o resultado da pesquisa e jogar pro textnome ou pra areatext1 so pra testar.
package gui.jigloo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

import javax.swing.JOptionPane;

public class ConexaoSql extends Cadastro {

	static Connection conexao;

	private String resultado;

	public static void main(String[] args) {

		// conexaoSql.conexao(cidade, nome, endereco, sexo, telefone, email);
	}

	/**
	 * @param args
	 */
	public void cadastraAluno(int cidade, String nome, String endereco,
			String sexo, String telefone, String email) {
		try {

			Class.forName("com.mysql.jdbc.Driver");
			String usuario = "root";
			String senha = "";
			String url = "jdbc:mysql://localhost/cadastro";

			conexao = DriverManager.getConnection(url, usuario, senha);
			
			Statement cadastraAluno = conexao.createStatement();

			cadastraAluno.execute("INSERT aluno VALUES(0," + cidade + ",'"
					+ nome + "','" + endereco + "','" + sexo + "','" + telefone
					+ "','" + email + "')");
			// comandoSQL.execute("DELETE cargo ");

			JOptionPane.showMessageDialog(null, "Registro Gravado com Sucesso",
					"Registro Concluído", JOptionPane.INFORMATION_MESSAGE);
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

	public void excluiAluno(String nome) {
		try {
			Statement excluiAluno = conexao.createStatement();

			int resp = JOptionPane.showConfirmDialog(null,
					"Você Tem Certeza que Deseja Excluri o Aluno?", "Atenção",
					JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
			if (resp == JOptionPane.YES_OPTION) {
				excluiAluno.execute("DELETE FROM aluno WHERE nomeAluno='"
						+ nome + "'");
			} else {

			}

		} catch (SQLException e) {
			JOptionPane.showMessageDialog(null, "Erro ao Deletar o Aluno",
					"Erro", JOptionPane.ERROR_MESSAGE);

		}

	}

	public void salvaAlteracao(int cidade, String nome, String endereco,
			String sexo, String telefone, String email) {
		try {
			Statement salvaAlteracao = conexao.createStatement();

			int resp = JOptionPane.showConfirmDialog(null,
					"Você Tem Certeza que Deseja Salvar as Alterações?",
					"Atenção", JOptionPane.YES_NO_OPTION,
					JOptionPane.QUESTION_MESSAGE);
			if (resp == JOptionPane.YES_OPTION) {
				String idALuno = "SELECT idAluno FROM aluno WHERE nomeAluno='"
						+ nome + "'";
				salvaAlteracao.execute("UPDATE aluno SET nomeAluno='" + nome
						+ "',enderecoAluno='" + endereco + "',idCidade="
						+ cidade + ",telefoneAluno='" + telefone
						+ "',sexoAluno='" + sexo + "', emailAluno='" + email
						+ "', WHERE idAluno=" + idALuno + "");
			} else {

			}

		} catch (SQLException e) {
			JOptionPane.showMessageDialog(null, "Erro ao Salvar as Alterações",
					"Erro", JOptionPane.ERROR_MESSAGE);
			e.printStackTrace();
		}

	}

	public void pesquisaNome() {
		try {
			String texto="Mafra";
			
			Statement pesquisaNome = conexao.createStatement();

			String resultado = "SELECT nomeAluno FROM aluno WHERE nomeAluno LIKE '%"+texto+"'";

			pesquisaNome.execute(resultado);

			String teste="SELECT nomeAluno FROM aluno WHERE nomeAluno='"+resultado+"'";
			pesquisaNome.execute(teste);
			System.out.println(teste);

		} catch (SQLException e) {
			System.out.println("Nao encontrado");
			e.printStackTrace();
		}

	}
	
}
andredeividi

Cara fiz umas alterações no seu metodo da uma olhada ai.

public void pesquisaNome() {
        try {
            String texto="Mafra";
            
            Statement pesquisaNome = conexao.createStatement();
            
            String resultado = "SELECT nomeAluno FROM aluno WHERE nomeAluno LIKE '%"+texto+"'";
            
            ResultSet rs01 = pesquisaNome..executeQuery(resultado);
            
            if (rs01.next()){
                String teste="SELECT nomeAluno FROM aluno WHERE nomeAluno='"+rs01.getString("nomeAluno")+"'";
            }
            
            ResultSet rs02 = pesquisaNome..executeQuery(teste);
            if (rs02.next()){
                System.out.println(rs02.getString("nomeAluno"));
            }
        } catch (SQLException e) {
            System.out.println("Deu erro");
            e.printStackTrace();
    }
Marky.Vasconcelos

Esta dando SQLException certo?

a string teste é isso

SELECT nomeAluno FROM aluno WHERE nomeAluno='SELECT nomeAluno FROM aluno WHERE nomeAluno LIKE ‘%Mafra’

ta lançando erro de sintax tira a String teste e da o execute só no resultado e de lá pega o aluno

Marky.Vasconcelos

outra coisa use o preparedStatement
para evitar SQL Injection

F
andredeividi:
Cara fiz umas alterações no seu metodo da uma olhada ai.
public void pesquisaNome() {
        try {
            String texto="Mafra";
            
            Statement pesquisaNome = conexao.createStatement();
            
            String resultado = "SELECT nomeAluno FROM aluno WHERE nomeAluno LIKE '%"+texto+"'";
            
            ResultSet rs01 = pesquisaNome..executeQuery(resultado);
            
            if (rs01.next()){
                String teste="SELECT nomeAluno FROM aluno WHERE nomeAluno='"+rs01.getString("nomeAluno")+"'";
            }
            
            ResultSet rs02 = pesquisaNome..executeQuery(teste);
            if (rs02.next()){
                System.out.println(rs02.getString("nomeAluno"));
            }
        } catch (SQLException e) {
            System.out.println("Deu erro");
            e.printStackTrace();
    }

Esse codigo nao deu aqui, criei a String teste fora , e mesmu assim deu erro

Exception in thread "main" java.lang.NullPointerException
at gui.jigloo.ConexaoSql.pesquisaNome(ConexaoSql.java:112)
at gui.jigloo.ConexaoSql.main(ConexaoSql.java:20)

Amigo Mark_Ameba, como pegar o aluno do resultado, e como funciona o prepare?
So tive uma aula e so aprendi esse, dai fica ate chato todo metodo chama ele, tens algum link ou exemplo pra mim ver?
Obrigado a vcs que estão tentando me ajudar e desculpa qualquer burrice minha.

F

Seguinte pessoal, consegui fazer, so que nao consigo jogar o nome pro meu campo Texto, onde tem nome, endereco e etc, queria saber como faço pra jogar todos os dados nos campos, e queria separar o resultado, ja criei dos botoes com seta, “proximo” e “anterior”, no caso cada vez que eu clica ele passa pra proxima pessoa nao caso de existir mais de uma com o mesmo texto que eu digite, dai cada vez que eu clica ele carrega os dados completos de cada um.
Alguem poderia me dar uma ideia?

T

blz?

Como vc está tentando recuperar o resultado da sql? utilizar o iterator do resultset seria a froma mais adequada. Se não for isso detalhe melhor seu problema, ok?t+

Criado 17 de julho de 2007
Ultima resposta 20 de jul. de 2007
Respostas 10
Participantes 6