如果我的程序已经设置(插入)一个选项(例如音量,振动),我的程序应该检查选项表。基本上,如果未设置选项,则表中的第一列为 0。如果第一行为空,则切换到默认选项,否则,切换到选项集。我用 try catch 包围我的选项检查器并收到此错误:
CursorIndexOutOfBoundsException:请求索引 0,大小为 0。
我对这个 sql 东西还是新手,所以我不确定我的代码是否适合我的需要。
这是我在 OnCreate() 的选项检查器:
options = new DBFunctions(this);
try{
String row = "0".toString();
long l = Long.parseLong(row);
options.open();
String retId = options.getId(l);
int id = Integer.parseInt(retId);
options.close();
//codes for setting the options if/if no data in option table exists will be put here
}catch(Exception e){
String error = e.toString();
tv.setText(error);
}
这是我的 DBFunctions 中的 getId()。爪哇:
public String getId(long l) {
String[] columns = new String[]{"id", "volume", "vibrate", "theme"};
Cursor c = db.query(table, columns, "id=" + l, null, null, null, null);
if(c !=null){
c.moveToFirst();
String id = c.getString(1);
return id;
}
return null;
}
`