2017-08-06 27 views
-1

我的查询是如何打印/列值的总和土司在SqlLite

Button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      int cv; 

      String getmont="",getyear=""; 

      getmont=year.getText().toString(); 
      getyear= (String) sid.getSelectedItem(); 
      SQLiteDatabase db; 

      db = openOrCreateDatabase("monthapp", MODE_PRIVATE, null); 
      curtop = db.rawQuery("SELECT SUM(currentpaid)FROM monthvaluesOrgin WHERE curmonth='" + getmont + "' AND curyear='" + getyear + "'", null); 
      if (curtop.moveToNext()) { 

       cv=curtop.getInt(0); 
       Toast.makeText(getApplicationContext(),cv,Toast.LENGTH_SHORT).show(); 


      } 


     } 
    }); 

如何打印/吐司和值?

它总是显示EOFException类

我曾与在尝试捕捉,但不工作尝试。

+0

你如何迭代光标? –

+0

while(cursor.moveTonext) { } – sukesh

+0

好的,那么您是否阅读过游标类'get *'方法的文档? –

回答

0

假设cursor是由rawQuery()呼叫返回的光标。所以,用它来获取INT和值:

int sum; 
if(cursor.moveToFirst()) sum = c.getInt(0); 
else sum = -1; 
c.close(); 

然后你可以使用任何你想要的sum

+0

否我需要获得表格中所有列的值的总和 您是对的,但我不了解 谢谢 – sukesh

+0

@sukesh但您的sql代码计算的总和为你。你只需要从Cursor对象中获取 – Valentun

+0

我试过这个 Cursor c = db.rawQuery(“SELECT SUM(PAID)AS TOTAL FROM tablename where id ='”+ Id +“'”,null); while(cursor.moveTonext) {Int sum; sum = cursor.getInt(2); Toast.makeText(getApplicationcontext,sum,2000).Show(); 但不工作 } – sukesh

相关问题