Erreur sous kotlin
FerméBunoCS Messages postés 15501 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 20 janvier 2025 - 30 sept. 2022 à 08:41
- Erreur sous kotlin
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Erreur g030 - Forum Bbox Bouygues
- J'aime par erreur facebook notification - Forum Facebook
9 réponses
26 sept. 2022 à 11:08
Hello,
Ta requête SQL est mal formattée. Il faudrait plutôt faire quelque chose du genre, en supposant que EMAIL et PASSWORD soient le nom de tes colonnes
val cursor = db.query(USERS_TABLE_NAME, null , "EMAIL = ? and PASSWORD = ?", selectionArgs,null,null,null)
ah j'ai regarder du coté sql lite et enfaite la table users ne s'affiche pas
27 sept. 2022 à 08:37
Comment as-tu créé ta base ?
class facebookDatabase(mContext: Context) : SQLiteOpenHelper (
mContext,
DB_NAME,
null,
DB_VERSION
){
override fun onCreate(db: SQLiteDatabase?) {
//creation des tables
val createTableUser = """
CREATE TABLE $USERS_TABLE_NAME(
$USERS_ID integer PRIMARY KEY,
$NAME varchar(50),
$EMAIL varchar(100),
$PASSWORD varchar(20)
)
""".trimIndent()
db?.execSQL(createTablePosts)
}
// cette méthode permet de vérifier si la table existe déjà
override fun onUpgrade(db: SQLiteDatabase?, oldVersion : Int, newVersion: Int) {
db?.execSQL("DROP TABLE IF EXISTS $USERS_TABLE_NAME")
onCreate(db)
}
fun findUser(email : String, password : String) : Boolean? {
var user : Boolean? = false
val db = this.readableDatabase
val selectionArgs = arrayOf(email, password)
var cursor = db.query(USERS_TABLE_NAME, null , "$EMAIL = ? and $PASSWORD = ?", selectionArgs,null,null,null)
if (cursor.moveToFirst()){
return user
}
db.close()
return null
}
companion object {
private val DB_NAME = "facebook_db"
private val DB_VERSION = 1
// users
private val USERS_TABLE_NAME = "users"
private val USERS_ID = "id"
private val NAME = "name"
private val EMAIL = "email"
private val PASSWORD = "password"
}
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question28 sept. 2022 à 09:25
Est-ce que tu créé bien ta base ? Autrement dit, est-ce que le constructeur est bien appelé quelque part ?
Attention, tu as des erreurs dans ton onCreate():
- varchar n'est pas supporté par SQLite
- tu définis une variable createTableUser mais tu exécute createTablePosts ?
override fun onCreate(db: SQLiteDatabase?) {
//creation des tables
val createTableUser = """
CREATE TABLE $USERS_TABLE_NAME(
$USERS_ID INTEGER PRIMARY KEY,
$NAME TEXT,
$EMAIL TEXT,
$PASSWORD TEXT
)
""".trimIndent()
db?.execSQL(createTableUser)
}
Sinon, je te conseille de passer par Room, c'est moins archaïque que d'utiliser SQLiteOpenHelper:
https://developer.android.com/training/data-storage/room
bonjour merci pour votre reponse
en faite j'ai créer une aute table avec le post et j'ai supprimer ca pour vous mais je me suis tromper bref
j'ai changer le varchar en text et sinon ca ne fonctionne toujours pas
28 sept. 2022 à 17:22
Toujours la même erreur ?
Lorsque tu déploies ton app, tu prends bien l'habitude de supprimer l'ancienne version lorsque tu touches à la base ?
comment ça ?
29 sept. 2022 à 09:44
Lorsque tu modifies ta base de données, il est très courant que, lors du mise à jour d'app (ou durant les dev), l'app crash parce que les anciennes tables ne correspondent pas avec les nouvelles. 2 solutions:
- si l'app est en prod, il faut fournir des scripts de migration qui sont gérés dans la méthode onUpgrade(). On peut aussi exécuter un DROP TABLES si on est sûr du comportement
- durant les dev, pour ne pas s'embêter avec les migrations, il faut désinstaller l'ancienne version avant d'installer la nouvelle
ok merci beaucoup j'ai trouver le problème grâce a votre réponse c'était assez bête en faite
mais je débute en tout cas merci pour le temps que vous m'avez accorder
pour le problème c'est tout simplement la version de la database que j'avas changer car je regarder une formation et j'amais mis sa version
merci encore !
ah mince faut espoir ca a marcher pour se connecter mais ducoup pour ajouter un post ca crash c'est tres bizarre ...
30 sept. 2022 à 08:41
Regardes les logs, ça va t'aider pour résoudre le crash...