如何将查询结果保存在字符串数组中
查询很简单,只有一列,即:
SELECT NAME FROM MYTABLE
我想要的是将id存储在String数组中,这样我就可以将它们显示为列表视图中的可点击项。
在SQLiteOpenHelper类中创建以下方法
public List<String> getAllNames() {
List<String> retData = new ArrayList<String>();
String selectQuery = "SELECT NAME FROM MYTABLE";
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
retData.add(cursor.getString(0));
} while (cursor.moveToNext());
}
return retData;
}
然后将返回的列表分配给适配器
假设您已经对一个SQLiteDatabase
对象执行了查询,并收到了一个游标
作为返回,您可以迭代游标并将每行的值保存到一个字符串[]
数组,如下所示:
String[] names;
if (cursor.moveToFirst()) {
names = new String[cursor.getCount()];
int colIndex = cursor.getColumnIndex("NAME");
do {
names[cursor.getPosition()] = cursor.getString(colIndex);
} while (cursor.moveToNext());
}
请记住,如果没有返回任何行,name
将为null
,因此请确保进行空检查。
试试这个
String selectQuery = "SELECT * FROM table";
try {
Cursor cursor = db.rawQuery(selectQuery, null);
ArrayList<String> ids = new ArrayList<>();
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
String id = cursor.getString(cursor.getColumnIndex(KEY_ID));
ids.add(id);
} while (cursor.moveToNext());
}
cursor.close();
} catch (Exception e) {
e.printStackTrace();
}
问题内容: 大家好,我想将我的数组转换成其他数组类型,请帮助我。我正在用这个 和输出是 但是我想要这种格式的输出 那我应该用什么函数来获得这种格式的数组 问题答案: 更新17年2月 现在已经是2017年了,建议您在mysql_ *上使用PDO。安全得多,并且可以本地返回(如`TrexXx的答案所示)。
问题内容: 我知道这应该是简单的,我可能正直盯着问题,但我再次陷入困境,需要代码专家的帮助。 我试图从jdbc的一列中取出一行,并将它们放入数组中。 我这样做如下: creatConnection是已经定义的方法,可以执行其明显的工作。我在创建另一个结果集的同时创建了我的结果集,我将该列的字符串存储到一个数组中。然后打印出来以备不时之需。还要确保它在那里。 问题在于其将整个列存储到contactL
问题内容: 这是我在phpi中使用mysqli面向对象样式的简单查询: 这很好。我获得了从select语句检索的名称列表。 现在,在一段时间内,我想将该变量用作另一个查询的参数,但是mysqli不允许这样做,因为我必须关闭第一个查询,然后调用第二个查询。 因此,我认为我必须存储第一个查询的结果,然后遍历结果以调用新查询。 我尝试了以下方法: 但这是行不通的。永远不会到达while内的代码。 注意
问题内容: 当我使用变量执行此查询时,将显示此错误。 问题答案: 用括号括起来的选择。
问题内容: 我正在尝试找到一种方法来缓存不会随频率变化的查询结果。例如,来自电子商务的产品类别(手机,电视等)。我正在考虑使用模板片段缓存,但是在这个片段中,我将遍历这些类别的列表。该列表在网站的任何部分都可用,因此在我的文件中。渲染模板时是否总是要发送类别列表?还是有更动态的方法来执行此操作,以使列表始终在模板中可用? 问题答案: 将缓存的查询弹出到Django的缓存中: 然后创建一个上下文处理