返回0的方法

时间:2013-07-19 18:08:25

标签: java android sqlite

我创建了一个方法来将请求SQLite的结果存储在表

public ArrayList <String> getProductName(double idcat) 
    {
        ArrayList <String> tab = new ArrayList <String>();
         try
            {
                Cursor c = null;
                c = database.rawQuery("SELECT " + COL_PRODUCT_NAME + " FROM "
                        + TABLE_PRODUCT + " WHERE " + COL_CATEGORY + "=  '" + idcat + "'", null);

                for(int i=0;i<c.getCount();i++)
                {
                    tab.add(c.getString(c.getColumnIndex(COL_PRODUCT_NAME)));
                    c.moveToNext();
                  }
                c.close();
            }
            catch(Exception e)
            {
                e.printStackTrace();
            }

                return tab;
        }

我想获得此表中的元素数量,所以我把它放在:

ArrayList <String> tab = new ArrayList <String>();
 TextView tv = new TextView(this);
                tab=db.getProductName(1);
                int n =tab.size();
                tv.setText("n=" +n);

但是当我编译我的应用程序时,n得到0 !!! 我想知道我的方法是否正确

1 个答案:

答案 0 :(得分:1)

我认为你需要在开始Cursor迭代之前先进行这个调用:

c.moveToFirst()

它应该是这样的

if(c.moveToFirst()){
 //Loop here
}