select函数中的sum函数在模拟器上工作正常,但在设备上没有

时间:2015-01-17 11:03:37

标签: android sqlite

我正在使用sqlite数据库通过查询从数据库中添加时间。但是选择查询中的sum函数在模拟器上工作正常而不在device.it上会在设备上给我null值

public class MonthlyStatistics extends Fragment {

    private SQLiteDatabase database;
    private DbHelper dbHelper;
    private ListView list;
    private ArrayList<String> date,time,distance;

    public MonthlyStatistics(){

    }

    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        dbHelper = new DbHelper(getActivity());
        database = dbHelper.getWritableDatabase();
    }
    @Override
    public View onCreateView(LayoutInflater inflater,
            @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

        View view = inflater.inflate(R.layout.monthly_statistics, container, false);
        list = (ListView) view.findViewById(R.id.monthlystatistics);

        date = new ArrayList<String>();
        time = new ArrayList<String>();
        distance = new ArrayList<String>();
        String year = getDate();
        for (int i = 1; i < 13; i++) {
            Cursor c = null;
            String SqlQuery = "SELECT time(sum(strftime('%s',time)),'unixepoch') AS time_total,sum(distance) AS total_km,date AS month FROM walkingdetail where date like '"+year+"-0"+i+"-%%'";

            if (i < 10) {

                c = database.rawQuery(query, null);
            if (c.moveToFirst()) {
                    if (c.getString(c.getColumnIndex("time_total")) != null
                            && c.getString(c.getColumnIndex("total_km")) != null) {

                        date.add(c.getString(c.getColumnIndex("month")));
                        time.add(c.getString(c.getColumnIndex("time_total")));
                        distance.add(c.getString(c.getColumnIndex("total_km")));
                    }
                }
                c.close();
            } else {
                c = database
                        .rawQuery(query, null);
                if (c.moveToFirst()) {

                    if (c.getString(c.getColumnIndex("time_total")) != null
                            && c.getString(c.getColumnIndex("total_km")) != null) {

                        date.add(c.getString(c.getColumnIndex("month")));
                        time.add(c.getString(c.getColumnIndex("time_total")));
                        distance.add(c.getString(c.getColumnIndex("total_km")));
                    }

                }
                c.close();
            }
        }

        return view;
    }
}

0 个答案:

没有答案