Java Android SQLite-为什么列的字符串返回“null”?
这是我的数据库:Java Android SQLite-为什么列的字符串返回“null”?,java,android,sqlite,Java,Android,Sqlite,这是我的数据库: private static Database mInstance; String str; private static final String TABLE_NAME = "tasks"; protected static final String COLUMN_ID = "_id"; protected static final String COLUMN_TASK = "task_name"; protected static final String COLUMN_E
private static Database mInstance;
String str;
private static final String TABLE_NAME = "tasks";
protected static final String COLUMN_ID = "_id";
protected static final String COLUMN_TASK = "task_name";
protected static final String COLUMN_EXP = "exp_rate";
private static final String CREATE_TABLE = "CREATE TABLE "
+ TABLE_NAME + " (" + COLUMN_ID
+ " integer primary key autoincrement, "
+ COLUMN_TASK + " TEXT, "+ COLUMN_EXP +" TEXT);";
private static final String DATABASE_NAME = "tasks.db";
private static final int DATABASE_VERSION = 1;
我需要得到这个值:“COLUMN\u EXP”的id。但是用这个代码“null”得到
public void getTaskExp(int id) {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(TABLE_NAME, new String[] { COLUMN_ID,
COLUMN_TASK , COLUMN_EXP }, COLUMN_ID + "=?",
new String[] { String.valueOf(id) }, null, null, null, null);
if (cursor.moveToFirst()) {
str = cursor.getString(cursor.getColumnIndex(COLUMN_EXP));
}
Log.v("hex", "str is " + str);
cursor.close();
db.close();
}
我犯的错误在哪里?请帮帮我。谢谢对不起,我的英语不好。请确保表中有数据。您还可以尝试检查列中的null 大概
if(str != null){
Log.v("hex", "str is " + str);
}
如果问题仍然存在,请检查此问题 尝试cursor.getString2是否已将数据添加到数据库表中?还有一个问题-是否已将exp_rate列添加到表中的时间晚于其他列?如果是这种情况,则需要增加数据库版本以强制更新以添加列。