[AJUDA] duvida em consultar no Banco de Dados

1 resposta
H

[b]Estou implmentando uma agenda, e só só quero incluir um e-mail único, ou seja, dois usuários ou mais não poderão ter o msmo e-mail.
Eu quero consultar no Banco de Dados, se a ‘palavra’ (que é o email de algum usuario qualquer), existe no banco de dados.

Implementei, da seguinte, forma:

-o método é boolean, se encontrar vai retornar false, pq o nome ja existe;

-se nao encontrar vai retornar verdadeiro, pq vou poder inserir no banco de Dados;

Não está dando certo, ele nunca entra na estrutura if(), mesmo eu colocando os mesmos valores.
Por favor, alguem puderia tirar a minha duvida, e se tiverem uma forma mais facil de fazer o que estou tentando fazer.
[/b]

//parametros da função

String campo=email;

String palavra=fulano.obterEmail();

String sql=Select email from usuario where email=+ “’”+campo+"’";

//Select email from usuario where email=‘[email removido]’
[i]public static boolean consultarUsuario(String palavra, String sql, String campo)

{

//método do tipo boolean pq quero que retorna verdadeiro ou falso

try {
Class.forName("com.mysql.jdbc.Driver");//chamando a classe do driver
		String url = "jdbc:mysql://localhost:3306/autenticacao";//criando a url
		
		Connection conectar = DriverManager.getConnection(url,"root","12345678");//conectando
		Statement sta = conectar.createStatement();
		ResultSet rs;
	
		rs=sta.executeQuery(sql);
		
		if(rs.first()){//indo pro primeiro rs
			do{
				String caixa = rs.getString(campo);
				
				if(palavra==caixa)
					return false;//se encontar igual nome ja existe
					
				
			}while(rs.next());
			
			return true; //nao encontrou nenhum nome igual
		}
	
	} catch (ClassNotFoundException e) {
		e.printStackTrace();
	} catch (SQLException e) {
		e.printStackTrace();
	}
	
	return true; //nao encontrou nenhum nome igual
}[/i]

1 Resposta

F

Use unique!

http://dev.mysql.com/doc/refman/5.1/en/create-table.html

Criado 18 de julho de 2009
Ultima resposta 20 de jul. de 2009
Respostas 1
Participantes 2