Android 数据库排序取决于整数?
在我的数据库中有一些行,每行有三列的sid、名称、移动和时间。我想根据移动对行进行排序,这是整数值 我像这样试过,但不走运Android 数据库排序取决于整数?,android,sqlite,sorting,Android,Sqlite,Sorting,在我的数据库中有一些行,每行有三列的sid、名称、移动和时间。我想根据移动对行进行排序,这是整数值 我像这样试过,但不走运 public Cursor fetchAllNotes() { return db.query(DATABASE_TABLE, new String[] { KEY_ROWID, KEY_NAME, KEY_MOVES,KEY_TIME}, null, null, null, null, KEY_MOVES); } 像这样使用 private
public Cursor fetchAllNotes() {
return db.query(DATABASE_TABLE, new String[] { KEY_ROWID, KEY_NAME,
KEY_MOVES,KEY_TIME}, null, null, null, null, KEY_MOVES);
}
像这样使用
private void getallrows() {
// get all the contacts..
db.open();
Cursor c = db.fetchAllNotes();
if (c.moveToFirst()) {
do {
Sorting(c);
} while (c.moveToNext());
}
db.close();
}
我有15,45,21,11,10,75,33个动作
我想要像这样的10,11,15,21,33,45,75为什么不以这样的方式进行查询,从而返回排序后的数据本身??? 请尝试此查询: 挑选* 从数据库_表 按键排序\u移动ASC 或 db.queryDATABASE_表,新字符串[]{KEY_ROWID,KEY_NAME, 按键移动,按键时间},空,空,空,空,空,按键移动+ASC
希望你能得到它…为什么你不以这样一种方式进行查询,即返回排序后的数据本身??? 请尝试此查询: 挑选* 从数据库_表 按键排序\u移动ASC 或 db.queryDATABASE_表,新字符串[]{KEY_ROWID,KEY_NAME, 按键移动,按键时间},空,空,空,空,空,按键移动+ASC 希望你得到它…试试这个-
return db.query(DATABASE_TABLE, new String[] { KEY_ROWID, KEY_NAME,
KEY_MOVES,KEY_TIME}, null, null, null, null, KEY_MOVES + " ASC");
或
编辑-1:
如果要显示名称,可以这样使用
private void getall()
{
db.open();
Cursor c = db.fetchAllNotes();
int i=1;
if (c.moveToFirst())
{
do
{
DisplayContact(c.getString(c.getColumnIndex(KEY_NAME)));
i++;
} while (c.moveToNext());
}
db.close();
}
试试这个-
return db.query(DATABASE_TABLE, new String[] { KEY_ROWID, KEY_NAME,
KEY_MOVES,KEY_TIME}, null, null, null, null, KEY_MOVES + " ASC");
或
编辑-1:
如果要显示名称,可以这样使用
private void getall()
{
db.open();
Cursor c = db.fetchAllNotes();
int i=1;
if (c.moveToFirst())
{
do
{
DisplayContact(c.getString(c.getColumnIndex(KEY_NAME)));
i++;
} while (c.moveToNext());
}
db.close();
}
我是android新手,我不懂你的意思,请解释一下,如何装箱。翻译:与其尝试用Java排序,不如尝试利用SQLite检索你想要的列上已经排序的数据。按部分查看顺序。不是从数据库中获取所有记录,而是以这样一种方式获取记录,即提供已排序的记录本身,我编写的查询提供已排序的数据。这是返回db.querySELECT*from database_TABLE order by KEY_MOVES ASC的格式吗;是的,@Richa编写的是一个格式化的查询和您的问题的解决方案。我是android新手,我不懂。请解释一下,如何装箱。翻译:与其尝试用Java进行排序,不如尝试利用SQLite并检索您想要的列上已排序的数据。按部分查看顺序。不是从数据库中获取所有记录,而是以这样一种方式获取记录,即提供已排序的记录本身,我编写的查询提供已排序的数据。这是返回db.querySELECT*from database_TABLE order by KEY_MOVES ASC的格式吗;是的,@Richa编写的是一个格式化的查询和您问题的解决方案。我按照u所说的进行更改,并在这里调用这个函数private void getall{db.open;db.fetchAllNotes;Cursor c=db.getAllContacts;if c.moveToFirst{do{dislayContactc;}while c.moveToNext;在显示之前它不是按顺序显示的。}db.close;}不按升序排序。10,10,12,4,6,64首先,请用正确的格式写代码。在这里,您可能在显示值时遇到问题,因为您的fetchAllNotes返回的游标对象在代码中没有捕捉到。我认为,您不清楚要使用哪种方法。不管它是什么,您只需要更改查询的最后一个参数,就像我在回答中提到的那样,以对其进行排序。我使用的是像这样的私有void getall{db.open;Cursor c=db.SortAllRows;int i=1;如果c.moveToFirst{do{DisplayContactc,i++;}而c.moveToNext;}db.close;}我按照您所说的更改,并在此处调用此函数private void getall{db.open;db.fetchAllNotes;Cursor c=db.getAllContacts;if c.moveToFirst{do{dislayContactc;}while c.moveToNext;在显示之前它不按顺序显示。}db.close;}排序不按升序。10,10,12,4,6,64首先,请用正确的格式写代码。在这里,您可能在显示值时遇到问题,因为您的fetchAllNotes返回的游标对象在代码中没有捕捉到。我认为,您不清楚要使用哪种方法。不管它是什么,您只需要更改查询的最后一个参数,就像我在回答中提到的那样,以对其进行排序。我使用的是如下私有void getall{db.open;Cursor c=db.SortAllRows;int i=1;如果c.moveToFirst{do{DisplayContactc,i++;}而c.moveToNext;}db.close;}