Android:无法在数据库中插入Arraylist值

时间:2013-09-25 10:29:42

标签: android database arraylist android-asynctask

我解析了一个json字符串并将值存储在一个arraylist中,现在我想将这些值放在数据库中,我正在执行异步任务onbackground方法,如下所示:

ArrayList<HashMap<String, String>> budget_val = new ArrayList<HashMap<String, String>>();
 HashMap<String, String> budget_Val_map = new HashMap<String, String>();

     budget_Val_map.put(PRODUCT_CAKE, cake);
     budget_Val_map.put(PRODUCT_YEASTEXTRACT, yeastextract);
     budget_Val_map.put(PRODUCT_BIFLAVOURS, biflavours);
     budget_Val_map.put(PRODUCT_YEASTNUTRIFERM, yeastnutriferm);
budget_val.add(budget_Val_map);

   dbHelper.open();
   dbHelper.topinchartsRecord(new ProductCategory(budget_val));

现在在我的数据库适配器中,我创建了一个表并插入这些值,如下所示:

public void topinchartsRecord(ProductCategory productCategory) {
    try{
        insertRecords(productCategory.getBudget_val(), SQLITE_TABLE3);
        }catch (Exception e) {
                    String LOG_TAG = "mylog";
        Log.e(LOG_TAG, "error reporting", e);
        }}

private void insertRecords(ArrayList<HashMap<String, String>> budget_val,
        String sqliteTable3) {

     if (budget_val != null && budget_val.size() > 0) {

        ContentValues con = new ContentValues();
        for (int i = 0; i < budget_val.size(); i++) {
            con.clear();
            HashMap<String, String> row = budget_val.get(i);
            Iterator<String> it = row.keySet().iterator();

            while (it.hasNext()) {

                String columnName = it.next();
                con.put(columnName, row.get(columnName));
            }

            mDb.insert(SQLITE_TABLE3, null, con);
 Log.d(LOG_TAG, "error reporting");
        System.out.println("Control entered last line of  the insert record=========== 3");
        }}}

但是我的数据库没有显示任何内容,跟踪中没有错误:请告诉我我是否做得对吗?

0 个答案:

没有答案