Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用Kotlin在SQLite中查询时出现问题_Android_Kotlin_Intellij Idea_Jetbrains Ide - Fatal编程技术网

Android 使用Kotlin在SQLite中查询时出现问题

Android 使用Kotlin在SQLite中查询时出现问题,android,kotlin,intellij-idea,jetbrains-ide,Android,Kotlin,Intellij Idea,Jetbrains Ide,我正在Kotlin使用SQLite数据库进行练习,我想在注册后查阅信息 问题是,当我按下按钮咨询时,我得到的是我放在吐司中的信息,而不是我登记的信息 class QLiteOpenHelper(context: Context, name: String, factory: SQLiteDatabase.CursorFactory?, version: Int) : SQLiteOpenHelper(context, name, factory, version) { override

我正在Kotlin使用SQLite数据库进行练习,我想在注册后查阅信息

问题是,当我按下按钮咨询时,我得到的是我放在吐司中的信息,而不是我登记的信息

class QLiteOpenHelper(context: Context, name: String, factory: SQLiteDatabase.CursorFactory?, version: Int) : SQLiteOpenHelper(context, name, factory, version) {
    override fun onCreate(db: SQLiteDatabase) {
        db.execSQL("create table articulos(codigo int primary key, descripcion text,precio real)")
    }
    override fun onUpgrade(db: SQLiteDatabase, oldVersion: Int, newVersion: Int) {
    }
}


 bt_registrar.setOnClickListener {
//Llamr a la base de datos
            val admin = QLiteOpenHelper(this, "Administracion", null, 1)
            val bd = admin.writableDatabase
            //Llamamos los datos
            val registro = ContentValues()
            registro.put("Codigo", et_codigo.text.toString())
            registro.put("Descripcion", et_name.text.toString())
            registro.put("Articulo", et_precio.text.toString())
            //Insertar los datos en la tabla articulos
            bd.insert("artculos", null, registro)
            bd.close()
            et_codigo.setText("")
            et_name.setText("")
            et_precio.setText("")
            Toast.makeText(this, "Los datos se han cargado", Toast.LENGTH_SHORT).show()
        }


bt_producto_codigo.setOnClickListener {

            val codigo = et_codigo.text.toString().toInt()

            val admin = QLiteOpenHelper(this, "administracion", null, 1)
            val bd = admin.writableDatabase
            val fila = bd.rawQuery("select descripcion,precio from articulos where codigo=$codigo", null)
            if (fila.moveToFirst()) {
                et_name.setText(fila.getString(0))
                et_precio.setText(fila.getString(1))
            } else
                Toast.makeText(this, "No existe un artículo con dicho código",  Toast.LENGTH_SHORT).show()
            bd.close()
            
        }

你的插入没有通过

registro.put("Codigo", et_codigo.text.toString())
“Codigo”必须与

db.execSQL("create table articulos(codigo int primary key, descripcion text,precio real)")
匹配所有字段的大小写和类型 最佳实践是对键使用常量。例如:

const val ARTICULOS_KEY ="articulos"
const val CODIGO_KEY ="codigo"    
...
db.execSQL("CREATE TABLE $ARTICULOS_KEY($CODIGO_KEY INT PRIMART....)
...
registro.put(CODIGO_KEY, et_codigo.text.toString().toInt())
当我按下按钮咨询。。。。这是代码的哪一部分?编辑您的问题并澄清。当我按下按钮时(bt_producto_codigo.setOnClickListener)