Java Android Studio中的游标测试和返回值
我被sqlite困住了,需要帮助 我的sqlite数据库中已经有一个表,其中存储了一些信息。应用程序的用户应该猜测我选择的特定表中存储了什么。在我的表中有两列,第一列是ID,第二列是NAME 这是我目前的代码: 公共布尔插入数据(字符串名称){ 此代码仅根据光标的位置返回true或false 我的问题是:当用户猜对了第2列中的名称时,如何返回第一列的特定ID 例如,我们在第2列中有一个名称ALEX,ID为3 我键入ALEX,得到ID的返回值,即3。尝试以下操作:Java Android Studio中的游标测试和返回值,java,android,sqlite,android-studio,cursor,Java,Android,Sqlite,Android Studio,Cursor,我被sqlite困住了,需要帮助 我的sqlite数据库中已经有一个表,其中存储了一些信息。应用程序的用户应该猜测我选择的特定表中存储了什么。在我的表中有两列,第一列是ID,第二列是NAME 这是我目前的代码: 公共布尔插入数据(字符串名称){ 此代码仅根据光标的位置返回true或false 我的问题是:当用户猜对了第2列中的名称时,如何返回第一列的特定ID 例如,我们在第2列中有一个名称ALEX,ID为3 我键入ALEX,得到ID的返回值,即3。尝试以下操作: //make global
//make global
Cursor c;
int id = 0;
onCreate(){
if(insertData("name")){
if(id > 0){
//do something
}
}
}
public boolean insertData(String name) {
SQLiteDatabase db = this.getReadableDatabase();
String[] cols = new String[]{COL_1, COL_2};
c = db.query(TABLE_NAME, cols, COL_2 + "=?", new String[]{"" + name}, null, null, null);
if (c.getCount() > 0) {
return false;
} else{
if(c.moveToFirst()){
id = Integer.parsInt(c.getString(c.getColumnIndex("id")))
}
return true;
}
}
如果两行有NAME=“ALEX”怎么办?您真正需要该ID做什么?数据库由我预定义。每行都是唯一的,没有2个Alex,只有1个Alex,他是唯一的。我需要该ID用于应用程序的后续开发,以便能够知道第一个问题答案的ID是什么,因此在5-6个问题之后,我可以查看应用程序的用户是否有唯一的ID回答或相同。
//make global
Cursor c;
int id = 0;
onCreate(){
if(insertData("name")){
if(id > 0){
//do something
}
}
}
public boolean insertData(String name) {
SQLiteDatabase db = this.getReadableDatabase();
String[] cols = new String[]{COL_1, COL_2};
c = db.query(TABLE_NAME, cols, COL_2 + "=?", new String[]{"" + name}, null, null, null);
if (c.getCount() > 0) {
return false;
} else{
if(c.moveToFirst()){
id = Integer.parsInt(c.getString(c.getColumnIndex("id")))
}
return true;
}
}