Database 如何在Android中查询SQLite数据库?
我成功地创建了数据库并插入了一行,但是由于某些原因,我无法查询它。我的机器人每次都会崩溃Database 如何在Android中查询SQLite数据库?,database,android,sqlite,Database,Android,Sqlite,我成功地创建了数据库并插入了一行,但是由于某些原因,我无法查询它。我的机器人每次都会崩溃 // Create a new row of values to insert. ContentValues newValues = new ContentValues(); // Assign values for each row. newValues.put("value", "kunjan"); //
// Create a new row of values to insert.
ContentValues newValues = new ContentValues();
// Assign values for each row.
newValues.put("value", "kunjan");
// Insert the row into your table
myDatabase.insert(DATABASE_TABLE, null, newValues);
String[] result_columns = new String[] { "value" };
// I GET AN EXCEPTION HERE
Cursor allRows = myDatabase.query(true, DATABASE_TABLE, result_columns, null, null,
null, null, null, null);
if (allRows.moveToFirst()) {
String value = allRows.getString(0);
TextView foo = (TextView) findViewById(R.id.TextView01);
foo.setText(value);
}
allRows.close();
myDatabase.close();
我得到这个例外
no such column: value: , while compiling: SELECT DISTINCT value FROM mainTable
我认为您正在创建只有一列(值)的表,并且您正在尝试从游标读取列-1而不是列-0。如果仍然没有帮助,请添加try-catch块并捕获日志
String value = allRows.getString(0);
原帖子的一些问题
- 正在创建已创建的表。我在“创建表”指令中写了“如果不存在”李>
- 未正确处理异常。我在创建表、查询表等过程中遇到了很多异常。我用try-catch完成了所有这些操作
- 对列名使用硬编码的值-这使得验证我是否在查询我创建的列变得更加困难