2016-08-12 38 views
0

將值插入表中插入值到SQLite數據庫使用豆類如何使用豆類和retieving這些表值成JSON數組

public static void addGetAssessmentDetail(Context context, 
     GetAssessmentBean getassessmentDetail) { 
    DBHelper dbHelper = null; 
    SQLiteDatabase sqlDBRead = null; 
    SQLiteDatabase sqlDBWrite = null; 
    try { 

     dbHelper = new DBHelper(context, LektzDB.DB_NAME, null, 
       LektzDB.DB_VERSION); 
     sqlDBRead = dbHelper.getReadableDatabase(); 
     sqlDBWrite = dbHelper.getWritableDatabase(); 

     ContentValues book = new ContentValues();  
     book.put(TB_FinalAssessmentValues.CL_1_ID, getassessmentDetail.getId()); 
     book.put(TB_FinalAssessmentValues.CL_2_USER_ID , getassessmentDetail.getUser_id()); 
     book.put(TB_FinalAssessmentValues.CL_3_BOOK_ID, getassessmentDetail.getBook_id()); 
     book.put(TB_FinalAssessmentValues.CL_4_CHAPTER_ID, 
       getassessmentDetail.getChapter_id()); 
     book.put(TB_FinalAssessmentValues.CL_5_QUESTION_TYPE, 
       getassessmentDetail.getQuestion_type()); 
     book.put(TB_FinalAssessmentValues.CL_6_QUESTION_ID, 
       getassessmentDetail.getQuestion_id()); 
     book.put(TB_FinalAssessmentValues.CL_7_OPTION_ID, 
       getassessmentDetail.getOption_id()); 
     book.put(TB_FinalAssessmentValues.CL_8_MARK, 
       getassessmentDetail.getMark()); 
     book.put(TB_FinalAssessmentValues.CL_9_NOTES, 
       getassessmentDetail.getNotes()); 
     book.put(TB_FinalAssessmentValues.CL_10_MATCH_OPTION, getassessmentDetail.getMatchOption()); 
     book.put(TB_FinalAssessmentValues.CL_11_DRAG_VALUES, 
       getassessmentDetail.getDragValues()); 
     book.put(TB_FinalAssessmentValues.CL_12_ADDED_TIME, 
       getassessmentDetail.getAdded_time());  
     Log.i("", "assessment values insertion success"); 


    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

} 

,並試圖找回那些表值成JSON數組

public JSONArray getFullAssessmentData(Context mContext, String bookid, 
     int UserId) { 
    DBHelper dbh = new DBHelper(mContext, LektzDB.DB_NAME, null, 
      LektzDB.DB_VERSION); 
    SQLiteDatabase db = dbh.getReadableDatabase(); 
    JSONArray resultSet = new JSONArray(); 
    try { 
     Cursor c = db.rawQuery("SELECT * FROM " + TB_FinalAssessmentValues.NAME 
       + " WHERE " + TB_FinalAssessmentValues.CL_3_BOOK_ID+ "='"+ bookid + "'", null); 
     Log.i("tag", "msg vachindi"); 

     if (c.getCount() > 0) { 

      c.moveToFirst(); 
      do { 
       c.moveToFirst(); 
       while (c.isAfterLast() == false) { 
        int totalColumn = c.getColumnCount(); 
        JSONObject rowObject = new JSONObject(); 
        for (int i = 0; i < totalColumn; i++) { 
         if (c.getColumnName(i) != null) { 
          try { 
           rowObject.put(c.getColumnName(i), 
             c.getString(i)); 
          } catch (Exception e) { 
          } 
         } 
        } 
        resultSet.put(rowObject); 
        c.moveToNext(); 
       } 

       c.close(); 
       db.close(); 
        } 
      while (c.moveToNext()); 
     } 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    return resultSet; 
} 

最後試圖將這些值存儲到JSON數組中

JSONArray fullassessmentjson = rdb.getFullAssessmentData(getContext(), BookId, UserId); 
        Log.i("Tag123456","Finalcheck"+fullassessmentjson); 

DBHel每

db.execSQL("CREATE TABLE IF NOT EXISTS " + TB_FinalAssessmentValues.NAME + "(" 
       + TB_FinalAssessmentValues.CL_1_ID + " TEXT, " 
       + TB_FinalAssessmentValues.CL_2_USER_ID + " TEXT, " 
       + TB_FinalAssessmentValues.CL_3_BOOK_ID + " TEXT, " 
       + TB_FinalAssessmentValues.CL_4_CHAPTER_ID + " TEXT, " 
       + TB_FinalAssessmentValues.CL_5_QUESTION_TYPE + " TEXT, " 
       + TB_FinalAssessmentValues.CL_6_QUESTION_ID + " TEXT, " 
       + TB_FinalAssessmentValues.CL_7_OPTION_ID + " TEXT, " 
       + TB_FinalAssessmentValues.CL_8_MARK + " TEXT, " 
       + TB_FinalAssessmentValues.CL_9_NOTES + " TEXT, " 
       + TB_FinalAssessmentValues.CL_10_MATCH_OPTION + " TEXT, " 
       + TB_FinalAssessmentValues.CL_11_DRAG_VALUES + " TEXT, " 
       + TB_FinalAssessmentValues.CL_12_ADDED_TIME + " TEXT)"); 

和錯誤是JSON數組在其深藏不露

+0

請張貼你的'DBHelper'類的代碼。 – earthw0rmjim

回答

1

看起來就像是增加值,以你的ContentValues對象,但不執行實際插入到數據庫中。

(因爲這個你基本上查詢一個空表)

你應該叫的SQLiteDatabaseinsert()方法在addGetAssessmentDetail()年底將數據插入到表:

sqlDBWrite.insert(TABLE_TO_INSERT, null, book);