SQLite Query获取特定值

时间:2015-01-10 08:13:12

标签: android sqlite

在我的数据库中,我存储了以下数据:

_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,我想知道我使用的查询是否有问题。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

使用BETWEEN

SELECT * 
FROM NumericalEquivalents  
where Section = 'a' and @grade between ValFrom and ValTo

Demo here