我试图返回SQLite数据库的“category”列中不同值的名称。光标似乎没有返回任何结果。
我正在用一个预先存在的鸟类数据库构建一个Android应用程序。其目的是允许用户通过应用程序探索数据库。我遇到的问题是试图返回数据库中存在的不同种类的鸟类物种。数据库似乎正在成功打开-没有引发SQLite异常-但是在使用查询后,'.MoveTonext'方法似乎没有返回任何数据。
public ArrayList<String> getCategory(String[] name){
String TABLE_BIRDS = "main";
String[] COLUMN = name;
ArrayList<String>categories = new ArrayList<>();
if (name[0]!=null)
{
Log.d(LOG_TAG, name[0]);
} else {
Log.d(LOG_TAG, "name[0] has not been passed");
}
x = db.query(true, TABLE_BIRDS, new String[] { COLUMN[0] } , null, null, COLUMN[0], null, null, null );
if (x.moveToNext()) {
Log.i(LOG_TAG, x.getString(x.getColumnIndex("category")));
}
else {
Log.i(LOG_TAG, "The cursor is not returning any data");
}
//Simple cursor loop
if (x.moveToNext()){
String category = new String();
category = x.getString(x.getColumnIndex(category));
categories.add(category);
Log.i("cursor loop", category);
}
return categories;
请帮忙,不胜感激。
下面是您的方法的一个更简单的版本:
public ArrayList<String> getCategory(String[] name) {
String TABLE_BIRDS = "main";
ArrayList<String> categories = new ArrayList<>();
if (name[0] != null) {
Log.d(LOG_TAG, name[0]);
} else {
Log.d(LOG_TAG, "name[0] has not been passed");
}
Cursor x = db.query(true, TABLE_BIRDS, new String[]{name[0]}, null, null, null, null, null, null);
while (x.moveToNext()) {
String category = x.getString(0);
categories.add(category);
Log.i("cursor loop", category);
}
if (x.getCount() == 0) {
Log.i(LOG_TAG, "The cursor is not returning any data");
}
x.close();
return categories;
}
我猜name[0]
包含字符串'category'
,这是您要查询的列。
因为您将true
作为方法query()
中的第一个参数传递true
,这意味着您将获得不同的值,所以不需要group by
参数。
您不需要变量列,因为您在变量name
中有您需要的内容。
也不需要
Cursor x = db.query(true, TABLE_BIRDS, new String[]{name[0]}, null, null, null, null, null, null);
试试rawQuery():
Cursor x = db.rawQuery("SELECT DISTINCT " + name[0] + " FROM " + TABLE_BIRDS, null);
我在HBASE有一张桌子。我和菲尼克斯一起创造的 然后我用spark填充它(我使用hortonworks shc-core连接器): 多谢帮忙。
我有一个使用MVVM构建的应用程序。我已成功地将应用程序插入SQLite数据库。我现在尝试在插入完成后获取数据库中的rowId,以便在后续活动中可以对该行进行更新。 我完全理解在DAO中将Void更改为Long的部分,但我不知道如何在活动级别实际访问该Long,并将其保存到一个变量中,该变量可以从一个活动发送到另一个活动。加价。下面是代码示例。 表/实体类: 存储库类: 道 ViewModel类:
我有一个像这样的mysql表 但是我无法用这个函数检索“成人”和“儿童”的值 错误日志显示变量被正确地传递给函数: 为什么此函数返回?
TestCase 2: baseChars:['a','b'] 所需字符串长度:1 产出: 有人能帮忙吗?我已经把我的代码放在GitHub里了。如果您可以将我的实现更改为非递归,但保留函数返回类型,也将受到重视。
问题内容: 我正在开发一个短信应用程序,我试图从每次对话中获取最新的短信。 这是我的SQL语句: 我在SQLite Expert中运行了查询,并且得到了正确的响应: 但是,当我在应用程序中运行它时,我得到: 这是我的桌子 这是我的Datamanipulator类: 问题答案: 使用时,结果的每一行对应于原始表的多行。这些结果的计算有三种可能性: 具有聚合函数的列类似于或计算组中所有行的值; 子句中
我有一个名为的模板助手,我想将3个集合游标返回到我的模板,以便我可以查看所有 最好的方法是什么?谢谢