Qual é a maneira correta de escrever uma consulta SQLite DataBase para obter o usuário e a senha da tabela de usuários

Mohammed A Sallout

Tenho uma tabela para informações do usuário e preciso obter a senha do usuário e o nome do usuário Consulta:

 Cursor cursor = db.rawQuery("select "+User.COL_NAME +User.COL_PASS +" from " + User.TABLE_NAME+" WHERE "+User.COL_NAME+ User.COL_PASS +"=?", new String[]{UserName , PassWord});

Mas eu não posso fazer isso, a mensagem de erro é:

   Caused by: android.database.sqlite.SQLiteException: no such column: UserNamePassword (code 1): , while compiling: select UserNamePassword from users WHERE UserNamePassword=?

Este é o meu código

public String getUserByUserAndPassword(String UserName , String PassWord) {


    String All_info="" ;

    Cursor cursor = db.rawQuery("select "+User.COL_NAME +User.COL_PASS +" from " + User.TABLE_NAME+" WHERE "+User.COL_NAME+ User.COL_PASS +"=?", new String[]{UserName , PassWord});

    while (cursor.moveToNext()) {
        String user_1 = cursor.getString(cursor.getColumnIndex(User.COL_NAME));
        String pass_1 = cursor.getString(cursor.getColumnIndex(User.COL_PASS));
        All_info= user_1+"/"+pass_1;


    }
    cursor.close();
    return All_info ;}

Causado por: android.database.sqlite.SQLiteException: nenhuma coluna: UserNamePassword (código 1) :, durante a compilação: selecione UserNamePassword dos usuários WHERE UserNamePassword =?

morre

Sua consulta contém erros de sintaxe, mas primeiro quero mencionar outras partes do seu código que estão logicamente erradas.
Sua consulta deve retornar 0ou 1linha porque acho que não há caso de 2 usuários com o mesmo nome de usuário, certo?
Portanto, não há necessidade de um whileloop. Uma ifdeclaração simples é suficiente.
Além disso, por que você deseja que a consulta retorne o nome de usuário e a senha?
Você já os conhece porque os usa para pesquisar este usuário.
Se não houver nenhum usuário com esses dados, a consulta não retornará nada.
Portanto, altere sua consulta para:

Cursor cursor = db.rawQuery(
    "SELECT COUNT(*) FROM " + User.TABLE_NAME +
    " WHERE "+ User.COL_NAME + " = ? AND " + User.COL_PASS +" = ?", 
    new String[]{UserName , PassWord}
);

Esta consulta retornará apenas 1 linha com 1 coluna inteira com valor 0se não houver tal usuário e 1se houver.
E o resto do código precisava:

if (cursor.moveToFirst()) {
    int counter = cursor.getInt(0);
    if (counter > 0) {
        All_info= UserName + "/" + PassWord;
    }
}
cursor.close();
return All_info;

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

TOP lista

  1. 1

    R Shiny: use HTML em funções (como textInput, checkboxGroupInput)

  2. 2

    UITextView não está exibindo texto longo

  3. 3

    Dependência circular de diálogo personalizado

  4. 4

    Acessando relatório de campanhas na AdMob usando a API do Adsense

  5. 5

    Como assinar digitalmente um documento PDF com assinatura e texto visíveis usando Java

  6. 6

    R Folheto. Dados de pontos de grupo em células para resumir muitos pontos de dados

  7. 7

    Setas rotuladas horizontais apontando para uma linha vertical

  8. 8

    O Chromium e o Firefox exibem as cores de maneira diferente e não sei qual deles está fazendo certo

  9. 9

    Definir um clipe em uma trama nascida no mar

  10. 10

    Por que meus intervalos de confiança de 95% da minha regressão multivariada estão sendo plotados como uma linha de loess?

  11. 11

    Como dinamizar um Dataframe do pandas em Python?

  12. 12

    regex para destacar novos caracteres de linha no início e no fim

  13. 13

    Why isn't my C# .Net Core Rest API route finding my method?

  14. 14

    Como obter a entrada de trás de diálogo em treeview pyqt5 python 3

  15. 15

    Tabela CSS: barra de rolagem para a primeira coluna e largura automática para a coluna restante

  16. 16

    How to create dynamic navigation menu select from database using Codeigniter?

  17. 17

    Como recuperar parâmetros de entrada usando C #?

  18. 18

    Changing long, lat values of Polygon coordinates in python

  19. 19

    Livros sobre criptografia do muito básico ao muito avançado

  20. 20

    Método \ "POST \" não permitido no framework Django rest com ações extras & ModelViewset

  21. 21

    Pesquisa classificada, conte números abaixo do valor desejado

quentelabel

Arquivo