Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.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/3/android/224.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
Java Android SQLite中的原始查询-插入或忽略_Java_Android_Sqlite_Insert - Fatal编程技术网

Java Android SQLite中的原始查询-插入或忽略

Java Android SQLite中的原始查询-插入或忽略,java,android,sqlite,insert,Java,Android,Sqlite,Insert,在我创建的应用程序上,我在将信息输入Sqlite数据库时遇到问题。我以前使用光标的帮助。我已经习惯了MySQL,虽然显然不太习惯 我正在尝试从文件添加到数据库。我以前有过这样的工作,但它将与光标一起添加。然后我被告知,为了让我能够将新信息添加到文件中,并且让应用程序只将新信息添加到数据库中,我应该使用INSERT或IGNORE 这是正确的语法吗?我目前没有因为任何原因插入任何信息 ourDatabase.rawQuery("INSERT OR IGNORE INTO " + DATABASE_T

在我创建的应用程序上,我在将信息输入Sqlite数据库时遇到问题。我以前使用光标的帮助。我已经习惯了MySQL,虽然显然不太习惯

我正在尝试从文件添加到数据库。我以前有过这样的工作,但它将与光标一起添加。然后我被告知,为了让我能够将新信息添加到文件中,并且让应用程序只将新信息添加到数据库中,我应该使用INSERT或IGNORE

这是正确的语法吗?我目前没有因为任何原因插入任何信息

ourDatabase.rawQuery("INSERT OR IGNORE INTO " + DATABASE_TABLE + " ("+KEY_CLASS+",
 " + KEY_QUESTION+ ") VALUES ('" + qclass + "', '" + question + "');", null);
这是我的数据库:

"CREATE TABLE " + DATABASE_TABLE + " (" + 
                    KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + 
                    KEY_CLASS + " TEXT NOT NULL, " +
                    KEY_QUESTION + " TEXT NOT NULL UNIQUE);

提前谢谢你的帮助

您的查询似乎是正确的,但还是请尝试下面的查询

ContentValues insertValues = new ContentValues();
insertValues.put(KEY_CLASS, qclass);
insertValues.put(KEY_QUESTION, question);   
yourDbName.insertWithOnConflict(DATABASE_TABLE, null, insertValues, SQLiteDatabase.CONFLICT_IGNORE);  

KEY_QUESTION + " TEXT NOT NULL UNIQUE);";

删除查询中的分号“);”谢谢您的回复。不幸的是,这并没有奏效。我发布了我的数据库只是为了确保我做的事情是正确的。。谢谢看:这就是我根据Markus提出的问题,但它仍然不起作用。谢谢你的链接,非常感谢!那太好了!我不知道有什么方法可以用ContentValues做冲突忽略的事情。谢谢你!(我会投票,但我没有足够的代表…)你应该尽量不要使用rawQuery,除非你必须这样做,其他的查询方法似乎更容易键入,但它可以帮你省去很多麻烦。始终使用selectionArgs。从理论上讲,您将如何处理原始查询?“插入或忽略到“+DATABASE_TABLE+”(“+KEY_CLASS+”,“+KEY_QUESTION+”)值(?,)”,新字符串[]{QCClass,QUESTION};