2015-05-04 87 views
-1

我想添加JSON對象作爲字符串到我的數據庫。我使用下面的代碼:Android的SQLite數據類型不匹配

public static final String SQL_CREATE_TABLE = 
      "CREATE TABLE " + TABLE_NAME + "(" 
        + KEY_PRIMARY + " INTEGER PRIMARY KEY AUTOINCREMENT, " 
        + COLUMN_ID + " TEXT, " 
        + COLUMN_TITLE + " TEXT, " 
        + COLUMN_AUTHOR + " TEXT, " 
        + COLUMN_VOTES + " TEXT, " 
        + COLUMN_SEARCH + " TEXT)"; 

public int insertQuestion3(Context c,String ids,String titles,String authors,String votes,String search) 
    { 
     DatabaseWrapper databaseWrapper = new DatabaseWrapper(c); 
     Log.e("ERROR2", String.valueOf(isDatabaseOpened())); 
     myDataBase = databaseWrapper.getWritableDatabase(); 

     long questionId = 0; 
     if (isDatabaseOpened()) { 
      ContentValues values = new ContentValues(); 
      values.put(QuestionORM.COLUMN_ID, ids); 
      values.put(QuestionORM.COLUMN_TITLE,titles); 
      values.put(QuestionORM.COLUMN_AUTHOR, authors); 
      values.put(QuestionORM.COLUMN_VOTES, votes); 
      values.put(QuestionORM.COLUMN_SEARCH, search); 
      questionId = myDataBase.insert(QuestionORM.TABLE_NAME, "null", values); 
      Log.e(TAG, "Inserted new Question with ID: " + questionId); 
      myDataBase.close(); 
     } 
     return (int) questionId; 
     } 

而且在活動:

holdid = new JSONObject(); 
        holdid.put("uniqueIDs", new JSONArray(ids)); 
        String _id = holdid.toString(); 
        Log.e("VALUE5",_id); 

        holdauthor = new JSONObject(); 
        holdauthor.put("uniqueAuthors",new JSONArray(authors)); 
        String _auth = holdauthor.toString(); 
        Log.e("VALUE4",_auth); 

        holdtitle = new JSONObject(); 
        holdtitle.put("uniqueTitles",new JSONArray(titles)); 
        String _title = holdtitle.toString(); 
        Log.e("VALUE2",_title); 

        holdvotes = new JSONObject(); 
        holdvotes.put("uniqueVotes",new JSONArray(votes)); 
        String _vote = holdvotes.toString(); 
        Log.e("VALUE",_vote);       q.insertQuestion3(MainActivity.this,_id,_title,_auth,_vote,val); 

但我得到的邏輯以下錯誤:

放棄語句以5:INSERT INTO問題(?,?,?,?,?,?)]數據類型不匹配

但是它們都具有相同的數據類型,即TEXT。

我收到這條線上此錯誤:

  questionId = myDataBase.insert(QuestionORM.TABLE_NAME, "null", values); 

但他們都具有相同的數據類型,即TEXT和同樣,questionId返回爲-1。

我該如何解決這個問題?

謝謝!

+1

您是否在嘗試插入之前更改了表創建SQL SQL_CREATE_TABLE? – inmyth

回答