0
votes

Comment découvrir l'utilisateur est présent dans la base de données SQLITE en utilisant Android?

Je travaille sur une application de connexion / registre juste pour la formation, car je suis un débutant tout fonctionne, sauf pour un petit problème, mais je ne sais pas comment le réparer, j'ai essayé de chercher quelque chose Voici la partie de ma base de données.kt xxx

MainActivity.kt xxx

My logcat erreur xxx < / Pré>

Je ne suis pas sûr de savoir pourquoi vous devez fermer le curseur. Merci d'avance


0 commentaires

3 Réponses :


0
votes

La requête finale doit être comme ci-dessous

select * from user_table where username = 'ss' and password = 'ss';


0 commentaires

0
votes

Vous problème est que votre utilisateur et vos variables de passe sont chaîne et vous devez mettre vos variables de chaîne

dans "" ou ''

mais vous les mettez entier Alors que vos colonnes de table (utilisateur et passe) ne sont pas entier et qu'ils sont string

Utiliser des arguments de chaîne et mettez votre utilisateur et et PASS < / code> variables dedans. Cela vous aidera à résoudre votre problème. xxx

bien sûr comme la deuxième façon que vous pouvez essayer cela aussi xxx


0 commentaires

3
votes

Le problème avec votre code est pas que vous transmettez les arguments comme entier (vous ne le faites pas), mais que les arguments ne sont pas reconnus comme texte littéraux parce qu'ils ne sont pas enfermés dans des guillemets simples, SQLite pense qu'ils sont des noms de colonnes.

La manière recommandée de transmettre les paramètres à RAWQUERY () Est-ce: < Pré> xxx

Les espaces réservés ? prendront leurs valeurs à partir des éléments correspondants de la matrice passés en tant que 2e argument de RAWQUERY () Et vous DON Il faut concaténer les citations simples pour éviter le risque de Injection SQL .
Après cela et avant la déclaration de retour, vous devez fermer à la fois le curseur et le dB objet.


0 commentaires