Android 按降序从数据库获取高分时出错
我已经在Android上开发了一个基于测验的应用程序。现在,当我试图按降序排列高分时,问题就出现了。我收到错误Android 按降序从数据库获取高分时出错,android,database,sqlite,Android,Database,Sqlite,我已经在Android上开发了一个基于测验的应用程序。现在,当我试图按降序排列高分时,问题就出现了。我收到错误无效限制条款:score DESC。我已经在这里发布了我的数据库类和我试图从中获得高分的类。请帮我解决这个错误 DBAdapter.java public long addscore(String name, int score) { ContentValues values = new ContentValues(); values.put(KEY_name, nam
无效限制条款:score DESC
。我已经在这里发布了我的数据库类和我试图从中获得高分的类。请帮我解决这个错误
DBAdapter.java
public long addscore(String name, int score)
{
ContentValues values = new ContentValues();
values.put(KEY_name, name);
values.put(KEY_score, score);
return db.insert(DATABASE_TABLE1, null, values);
}
public Cursor getScore() throws SQLException
{
String order = KEY_score + " DESC ";
/*return db.query(DATABASE_TABLE1, new String[] {KEY_scoreid, KEY_name,
KEY_score}, null, null, null, null, order);*/
Cursor mCursor = db.query(true, DATABASE_TABLE1, new String[] {
KEY_scoreid, KEY_name,KEY_score },null, null,null,null, null,order);
if (mCursor != null)
{
mCursor.moveToFirst();
}
return mCursor;
}
Highscore.java
try
{
db1=new DBAdapter(this);
db1.open();
c=db1.getScore();
n1=c.getString(1);
s1=c.getInt(2);
n2=c.getString(1);
s2=c.getInt(2);
n3=c.getString(1);
s3=c.getInt(2);
n4=c.getString(1);
s4=c.getInt(2);
n5=c.getString(1);
s5=c.getInt(2);
name1.setText(n1);
score1.setText(Integer.toString(s1));
name2.setText(n2);
score2.setText(Integer.toString(s2));
name3.setText(n3);
score3.setText(Integer.toString(s3));
name4.setText(n4);
score4.setText(Integer.toString(s4));
name5.setText(n5);
score5.setText(Integer.toString(s5));
}
catch(Exception ex)
{
Toast.makeText(getBaseContext(), ex.getMessage(), Toast.LENGTH_SHORT).show();
}
我需要你们的帮助,伙计们,请帮帮我
提前感谢。查询应该是这样的
Cursor mCursor = db.query(true, DATABASE_TABLE1, new String[] {
KEY_scoreid, KEY_name,KEY_score },null, null,null,null,KEY_score + " DESC",null);
尝试如下:
Cursor mCursor =db.query(DATABASE_TABLE1, new String[] {KEY_scoreid,KEY_name,KEY_score}, null, null, null, null, KEY_score + " DESC");
public class Contacts
{
private int Id;
private String NAME;
public int getId()
{
return Id;
}
public void setId(int id)
{
this.Id = id;
}
public String getNAME()
{
return NAME;
}
public void setNAME(String name)
{
NAME = name;
}
public Contacts(int id, String name)
{
super();
this.Id = id;
NAME = name;
}
}
编辑:
您的联系人
如下所示:
Cursor mCursor =db.query(DATABASE_TABLE1, new String[] {KEY_scoreid,KEY_name,KEY_score}, null, null, null, null, KEY_score + " DESC");
public class Contacts
{
private int Id;
private String NAME;
public int getId()
{
return Id;
}
public void setId(int id)
{
this.Id = id;
}
public String getNAME()
{
return NAME;
}
public void setNAME(String name)
{
NAME = name;
}
public Contacts(int id, String name)
{
super();
this.Id = id;
NAME = name;
}
}
你犯了什么错误?请发布您的日志。错误的参数。。。检查文档并告诉我们查询中的第9个参数是什么method@Selvin请告诉我在哪里?在哪里什么?检查文件?在internet@GrIsHu我得到了这个异常
无效限制条款:score DESC
获取错误没有这样的列:scoreDESC:,编译时:按scoreDESC从分数顺序中选择不同的scoreid、名称、分数
嘿,请检查highscore.java
类。我是否正确地传递了参数?获取错误没有这样的列:scoreid:,编译时:选择不同的scoreid、name、score from scores ORDER BY score DESC
表中是否有名为scoreid
的字段?签出。请显示您的创建表查询。private static final String DATABASE_CREATE1=“创建表分数(scoreid整数主键自动递增,“+”名称文本“+”分数数字“+”;”代码>我认为从分数表中获取数据时有一些错误。