Java SQLite3 db Android插入空值
为什么我总是感到沮丧Java SQLite3 db Android插入空值,java,android,sqlite,Java,Android,Sqlite,为什么我总是感到沮丧 String TABLE_NAME = "WORD"; public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE " + TABLE_NAME + "(WORD TEXT, DEFINITION TEXT, DAY TEXT)"); //find out if we have entered data already
String TABLE_NAME = "WORD";
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + TABLE_NAME +
"(WORD TEXT, DEFINITION TEXT, DAY TEXT)");
//find out if we have entered data already
ContentValues cv = new ContentValues();
cv.put("WORD", "nuttin");
cv.put("DEFINITION", "nuttin");
cv.put("DAY", "nuttin");
db.insert("WORD", null, cv );
ContentValues cvUpdates = new ContentValues();
cvUpdates.put("WORD", " ");
cvUpdates.put("DEFINITION", " ");
cvUpdates.put("DAY", " ");
db.update("WORD", cvUpdates, null, null);
}
在这个问题上,我的头撞到了墙上…您为创建表而构建的SQL字符串有问题:
sqlite> select * from word;
||
这将产生:
"CREATE TABLE " + TABLE_NAME + "(WORD TEXT, DEFINITION TEXT, DAY TEXT)"
您可以看到表名和字段之间缺少一个空格。。。字
如果查看LogCat输出,您可能会注意到execSQL方法抛出一个SQLException,告诉您SQL字符串无效。您应该始终捕获这些异常
只是为了完整性:SQLException类扩展了RuntimeException,这是一个未检查的异常。关于这方面的更多信息可以找到。这实际上是因为,几乎在数据库创建之后,我就使用空哈希映射向其中插入了一些值,而不是使用实际工作的方法的返回填充哈希映射。。我只是忘了用它!谢谢各位。在插入或更新日志时,您是否在logcat中遇到任何错误?请尝试包括db.open和db.close。
CREATE TABLE WORD(WORD TEXT, DEFINITION TEXT, DAY TEXT)