我有一个包含行amount
和aid
的MySQL表。我需要有一定数额的援助金额。援助,我将在android类中声明。例如,我想选择援助金额的总和12.我该怎么做?问题是如果我在android类中运行这样的SQL命令,
SQLiteDatabase dbq = openOrCreateDatabase("shareity", Context.MODE_PRIVATE, null);
dbq.execSQL("SELECT amount FROM donations WHERE activityid = aid");
我认为这不会成功,因为我需要的援助是在Android类本身中声明的。有什么帮助吗?
答案 0 :(得分:1)
要从表中选择数据,您必须执行select查询,它将返回1.1
中的数据。之后,您必须遍历游标以获取数据。
P.S。我正在为您提供一个现成的代码,因为网上有足够的资源,如果您遇到任何问题,请尝试搜索并发表评论!
答案 1 :(得分:1)
这是错误的
dbq.execSQL("SELECT amount FROM donations WHERE activityid = aid");
你需要这样做。
Cursor c = dbq.rawQuery("SELECT amount FROM donations WHERE activityid = 'aid'", null);
编辑:如果援助是可变的,则意味着你需要像这样修改
Cursor c = dbq.rawQuery("SELECT amount FROM donations WHERE activityid = '"+aid+"'", null);
从此光标读取值。
更新2
在这里,您需要金额列的总和,因此请按以下步骤更改您的查询。
Cursor c = dbq.rawQuery("SELECT sum(amount) FROM donations WHERE activityid = '"+aid+"'", null);
这里的条件是在创建表查询中,amount列可能是Integer。