gpt4 book ai didi

android - 如何使用sqlite创建Kotlin登录名?

转载 作者:行者123 更新时间:2023-12-02 13:16:45 26 4
gpt4 key购买 nike

如何使用sqlite在koltin中创建登录名。
用户注册

 bt_204.setOnClickListener {
val admin = AdminSQliteOpenHelper(this, "administracion",null,1)
val bd = admin.writableDatabase
val registro = ContentValues()
registro.put("nombre_usuario", et_nombre_201.text.toString())
registro.put("clave1", et_pasword_204.text.toString())
registro.put("clave2",et_paword_203.text.toString() )
bd.insert("usuario", null , registro)
bd.close()
et_nombre_201.setText("")
et_paword_203.setText("")
et_pasword_204.setText("")
Toast.makeText(this,"Usuarios registrado correctamente", Toast.LENGTH_SHORT).show()
val intent = Intent (this,MainActivity::class.java)
startActivity(intent)
}
主要 Activity
试试这个,但应用程序被破坏(我是初学者)
   bt_ingresar_04.setOnClickListener {
val admin = AdminSQliteOpenHelper(this, "administracion", null, 1)
val bd = admin.writableDatabase
val fila = bd.rawQuery(
"select nombre_usuario,clave1 from usuario where nombre_usuario=${et_02.text} && ${etp_03.text}"
null
)
if (fila.moveToFirst()) {
val intent = Intent(this, MainActivity_03::class.java)
startActivity(intent)
} else {
Toast.makeText(this, "Usuario no registrado", Toast.LENGTH_SHORT).show()
}

}

最佳答案

&&是Java的逻辑运算符,而不是sql的逻辑运算符。您必须使用AND
同样,在查询的where子句中,您必须指定所有必需的列名,但不必指定。您仅指定nombre_usuario列。
另外,应正确引用参数et_02.textetp_03.text,因此最终结果如下:

where column1 = 'value1' and column2 = 'value2'
但是,执行此操作的正确方法是使用 ? placholders并将 rawQuery()的第二个参数中的参数作为字符串数组传递。
因此更改为:
val fila = bd.rawQuery(
"select nombre_usuario, clave1 from usuario where nombre_usuario = ? and column_password = ?",
arrayOf(et_02.text, etp_03.text)
)
column_password替换为存储密码的列的名称。
另外,在 bt_204.setOnClickListener的这一行中:
registro.put("clave2",et_paword_203.text.toString() )
也许 et_paword_203有错别字。

关于android - 如何使用sqlite创建Kotlin登录名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62813924/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com