[Resolvido] Problema Clausula WHERE SQLITE

Bom dia,

Estou com o seguinte método contendo um sql com clausula where.

O problema é que o resultado sempre está retornando 0 e não estou conseguindo ver o erro no sql.

Segue o método.


public boolean isUsuario(String login, String senha){
    
        try {
            
            
            Cursor rawQuery = getWritableDatabase().rawQuery("SELECT * FROM " +  TABELA + " WHERE LOGIN = ? AND SENHALOGIN = ?", null);
            
            int dados = rawQuery.getCount();
            
            if(dados > 0){
                
                Log.i(CATEGORIA, "OK: usuário correto!" + dados);
                return true;
            }
            else
            {
                Log.i(CATEGORIA, "MENSAGEM DE LOG: não existe usuários cadastrado com estes dados!" + dados);
                return false;
            }
            
            
        } catch (Exception e) {
            
            
            Log.i(CATEGORIA, "ERRO: metodo isUsuario");
            
            return false;
            
        }
        
    
    }

Obrigado pela força pessoal

coloca um registro que tem na tabela e como vc passa os parâmetros equivalentes para a consulta, por exemplo, faz alguma criptografia no password?

Cursor rawQuery = getWritableDatabase().rawQuery(“SELECT * FROM " + TABELA + " WHERE LOGIN = “+login”+” AND SENHALOGIN = "+senha, null);

qualquer coisa retire a parte da senha no sql e veja se está retornando algo. se retornar sem a senha o problema está na criptografia.

Ei, porque você não utiliza da classe SQLiteOpenHelper? :slight_smile:

Saca: http://debugcodigos.blogspot.com/2011/06/sqlite-para-android-como-utilizar.html

Abraço.

Fala pessoal,

Obrigadão pela força.

Resolvi da seguinte forma.


public boolean isUsuario(String login, String senha){
		
		try {
			
						
		       String[] args = new String[]{login, senha};    
		       Cursor c = getWritableDatabase().query(TABELA, COLS,"LOGIN = ? AND SENHALOGIN = ?", args, null, null, null);
		   
		
			if (c.getCount() > 0) {
								
				
				Log.i(CATEGORIA, "OK: usuário correto!" + c);
				return true;
				
			} else {
				
				
				Log.i(CATEGORIA, "MENSAGEM DE LOG: não existe usuários cadastrado com estes dados!" + c);
				return false;
			}
			
			
		} catch (Exception e) {
			return false;
		}
		
	}

Felipe obrigado pela dica, vou estuda-la.

Como posso fazer uma consulta usando o rawQuery? Preciso consultar por nome na tabela que se chama tabcadastropessoa com os campos Nome, Endereço e Telefone e retornar o resultado nos edittext correspondentes, ou seja, editTextNome, editTextEndereco e editTextTelefone.