【发布时间】:2014-07-04 10:53:25
【问题描述】:
在我的 sql.query 中,有时光标应该返回空值。例如在下面的代码中,光标正在寻找用户名。如果用户有用户名,那么光标将返回它。如果不是,那么我认为它是空的。我的问题是,当游标确实找到空值时,我会因“越界”错误而崩溃。基本上意味着光标没有找到任何东西。
public static String getUserName() {
int rowIncrement = 1;
Log.d(DATABASE, "Getting Username");
String[] usercolumns = new String[] { KEY_ROWID, KEY_NAME, KEY_PASSWORD };
Cursor c = myDatabase.query(USER_TABLE, usercolumns, KEY_ROWID + "="
+ rowIncrement, null, null, null, null);
if (c != null) {
c.moveToFirst();
String lUserName = c.getString(1);
Log.d("DATABASE", "Username = " + lUserName);
return lUserName;
}
return null;
}
如果光标找不到任何内容,这段代码有什么问题会导致崩溃?
【问题讨论】:
-
请发布 logcat 输出
标签: android sql null indexoutofboundsexception