Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android SQLite数据类型不匹配_Android_Sqlite - Fatal编程技术网

Android SQLite数据类型不匹配

Android SQLite数据类型不匹配,android,sqlite,Android,Sqlite,我正在尝试将JSON对象作为字符串添加到数据库中。我正在使用以下代码: public static final String SQL_CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + "(" + KEY_PRIMARY + " INTEGER PRIMARY KEY AUTOINCREMENT, " + COLUMN_ID + " TEXT, "

我正在尝试将JSON对象作为字符串添加到数据库中。我正在使用以下代码:

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处中止:[在问题中插入(搜索、投票、标题、id、作者)值(?,,,,,?)]数据类型不匹配

但它们都有相同的数据类型,即文本

我在这一行中遇到以下错误:

            questionId = myDataBase.insert(QuestionORM.TABLE_NAME, "null", values);
但它们都有相同的数据类型,即文本,并且questionId返回为-1

我该如何解决这个问题


谢谢

好吧,我找到答案了。它显然与数据库的名称有关。这些数据类型与同名的其他数据库发生冲突

这里的评论


事实证明非常有用

在尝试插入之前,是否更改了表创建sql\u CREATE\u表?