gpt4 book ai didi

android - 如何使用 Android 在 sqlite 中获取行数?

转载 作者:IT王子 更新时间:2023-10-28 23:40:40 24 4
gpt4 key购买 nike

我正在创建任务管理器。我有任务列表,当我点击特定的任务列表名称时,如果它为空,我希望它继续添加任务 Activity ,但如果它有 2 或 3 个任务,那么它会以列表形式向我显示这些任务。

我正在尝试在列表中计数。我的数据库查询是这样的:

public Cursor getTaskCount(long tasklist_Id) {

SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor= db.rawQuery("SELECT COUNT (*) FROM " + TABLE_TODOTASK + " WHERE " + KEY_TASK_TASKLISTID + "=?",
new String[] { String.valueOf(tasklist_Id) });
if(cursor!=null && cursor.getCount()!=0)
cursor.moveToNext();
return cursor;
}

在我的 Activity 中:

list_tasklistname.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0,
android.view.View v, int position, long id) {
db = new TodoTask_Database(getApplicationContext());
Cursor c = db.getTaskCount(id);
System.out.println(c.getCount());
if(c.getCount()>0) {
System.out.println(c);
Intent taskListID = new Intent(getApplicationContext(), AddTask_List.class);
task = adapter.getItem(position);
int taskList_id = task.getTaskListId();
taskListID.putExtra("TaskList_ID", taskList_id);
startActivity(taskListID);
}
else {
Intent addTask = new Intent(getApplicationContext(), Add_Task.class);
startActivity(addTask);
}
}
});
db.close();
}

但是当我点击任务列表名称时,它返回 1,机器人任务数。

最佳答案

使用DatabaseUtils.queryNumEntries():

public long getProfilesCount() {
SQLiteDatabase db = this.getReadableDatabase();
long count = DatabaseUtils.queryNumEntries(db, TABLE_NAME);
db.close();
return count;
}

或(效率低下)

public int getProfilesCount() {
String countQuery = "SELECT * FROM " + TABLE_NAME;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(countQuery, null);
int count = cursor.getCount();
cursor.close();
return count;
}

Activity 中:

int profile_counts = db.getProfilesCount();
db.close();

关于android - 如何使用 Android 在 sqlite 中获取行数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18097748/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com