我需要计算Column的Sum值.为此,我正在使用以下查询.但是当我单击按钮进行计算时,应用程序崩溃了.
Cursor cur = db.rawquery("SELECT SUM " + (DbHelper.CART_TOTAL) + " FROM " + DbHelper.CART_table, null);if (cur.movetoFirst()) { Log.e("Net Total", cur.getInt(0) + ""); return cur.getInt(0); } return 0;
Logcat错误:
androID.database.sqlite.sqliteException: no such column: SUM (code 1): , while compiling: SELECT SUM cart_total FROM cart_table at androID.database.sqlite.sqliteConnection.nativePrepareStatement(Native Method) at androID.database.sqlite.sqliteConnection.acquirePreparedStatement(sqliteConnection.java:882) at androID.database.sqlite.sqliteConnection.prepare(sqliteConnection.java:493) at androID.database.sqlite.sqliteSession.prepare(sqliteSession.java:588) at androID.database.sqlite.sqliteProgram.<init>(sqliteProgram.java:58) at androID.database.sqlite.sqlitequery.<init>(sqlitequery.java:37) at androID.database.sqlite.sqliteDirectCursorDriver.query(sqliteDirectCursorDriver.java:44) at androID.database.sqlite.sqliteDatabase.rawqueryWithFactory(sqliteDatabase.java:1314) at androID.database.sqlite.sqliteDatabase.rawquery(sqliteDatabase.java:1253) at com.insIDeglobe.restaurant.Db.DbUtil.calculateNetTotal(DbUtil.java:276) at com.insIDeglobe.restaurant.Adapter.MyCartAdapter.UpdateCart(MyCartAdapter.java:104) at com.insIDeglobe.restaurant.Adapter.MyCartAdapter.onClick(MyCartAdapter.java:91) at androID.vIEw.VIEw.performClick(VIEw.java:4084) at androID.vIEw.VIEw$PerformClick.run(VIEw.java:16987) at androID.os.Handler.handleCallback(Handler.java:615) at androID.os.Handler.dispatchMessage(Handler.java:92) at androID.os.Looper.loop(Looper.java:137) at androID.app.ActivityThread.main(ActivityThread.java:4794) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:556)
解决方法:
正确的方法
Cursor cursor = db.rawquery("SELECT SUM(" + DbHelper.CART_TOTAL + ") as Total FROM " + DbHelper.CART_table, null); if (cur.movetoFirst()) { int total = cursor.getInt(cursor.getColumnIndex("Total"));// get final total
总结 以上是内存溢出为你收集整理的计算SQLite Android中的列总和全部内容,希望文章能够帮你解决计算SQLite Android中的列总和所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)