在我的数据库中,我存储了以下数据:
_id | NumericalEquivalents | ValTo | valFrom | Section
------------------------------------------------------
1 1.00 100 99 a
2 1.25 98 96 a
3 1.75 95 93 a
.....
.....
10 5.00 74 0 a
现在在我的应用程序中,将以编程方式计算成绩,并且我有下面的代码来获得计算成绩的数值等价:
public float getNumEqui(String sect, float grade)
{
String q = "SELECT * FROM NumericalEquivalents where Section='"+sect+"' and valTo>="+grade+" and valFrom<="+grade;
Cursor cursor = mDb.rawQuery(q, null);
if(cursor.moveToFirst())
{
float reset= cursor.getFloat(cursor.getColumnIndex("NumericalEquivalent"));
return reset;
}
//return sometotal;
return -1;
}
我现在的问题是它总是返回5.00,我想知道我使用的查询是否有问题。任何帮助将不胜感激。
答案 0 :(得分:0)
使用BETWEEN
:
SELECT *
FROM NumericalEquivalents
where Section = 'a' and @grade between ValFrom and ValTo