Java 如何通过查询获取sqlite表中特定名称的编号
我有一个存储姓名和人数的表。现在我想在sqlite helper类中创建一个方法,它将返回我将在该方法中传递其姓名的特定人员的编号 我的代码有问题 这是我的密码Java 如何通过查询获取sqlite表中特定名称的编号,java,android,sqlite,select,datatable,Java,Android,Sqlite,Select,Datatable,我有一个存储姓名和人数的表。现在我想在sqlite helper类中创建一个方法,它将返回我将在该方法中传递其姓名的特定人员的编号 我的代码有问题 这是我的密码 public String fetchGroup(SQLiteDatabase inDatabase, String valueCheck){ String query = "SELECT * FROM groups WHERE groupname='" + valueCheck; Cursor cursor =
public String fetchGroup(SQLiteDatabase inDatabase, String valueCheck){
String query = "SELECT * FROM groups WHERE groupname='" + valueCheck;
Cursor cursor = inDatabase.rawQuery(query,null);
String place = cursor.getString(cursor.getColumnIndex("contactid"));
return place;
问完你的问题后做什么
int count = 0;
while (cursor.moveToNext()) {
// increment variable
count++;
}
迭代后,在查询完成后,您将获得计数数
int count = 0;
while (cursor.moveToNext()) {
// increment variable
count++;
}
迭代后,您将获得计数数在读取数据之前,请注意使用
cursor.moveToFirst()
命令
否则,您可以修改查询,只返回这个数字,而不用计算Java中的人数
大概是这样的:
public String fetchGroup(SQLiteDatabase inDatabase, String valueCheck){
String query = "SELECT COUNT(id) FROM groups WHERE groupname=\"" + valueCheck + "\"";
Cursor cursor = inDatabase.rawQuery(query, null);
cursor.moveToFirst();
int place = cursor.getInt(0);
return String.valueOf(place);
}
在读取数据之前,请注意使用
cursor.moveToFirst()
命令
否则,您可以修改查询,只返回这个数字,而不用计算Java中的人数
大概是这样的:
public String fetchGroup(SQLiteDatabase inDatabase, String valueCheck){
String query = "SELECT COUNT(id) FROM groups WHERE groupname=\"" + valueCheck + "\"";
Cursor cursor = inDatabase.rawQuery(query, null);
cursor.moveToFirst();
int place = cursor.getInt(0);
return String.valueOf(place);
}
您没有附加结束单引号:
String query=“SELECT*FROM groupname=”+valueCheck+”代码>但按此方式进行检查:String query=“从groupname=?”的组中选择*;Cursor Cursor=inDatabase.rawQuery(查询,新字符串[]{valueCheck})代码>参考本教程您没有附加结束单引号:String query=“SELECT*FROM groupname=”+valueCheck+”代码>但按此方式进行检查:String query=“从groupname=?”的组中选择*;Cursor Cursor=inDatabase.rawQuery(查询,新字符串[]{valueCheck})代码>请参阅本教程