很明显,我不明白Android中的ContentValues的概念。如何保证插入语句如database.insert(TABLE,null,contentValues);以正确的顺序获得contentValues的所有值,因为ContentValues是一个集合?Android ContentValues:插入时值是否有错误?
假设TABLE有3个字符串列。如果我写了下面......
contentValues.put("col1", valueCol1);
contentValues.put("col2", valueCol2);
contentValues.put("col3", valueCol3);
...它不能保证database.insert插入顺序值,或者我才明白什么了吗?
使用database.insert而不是db.execSQL有什么好处(除了在Android中更好的视图处理)?
好的抱歉,这是一个愚蠢的问题。稍微休息一下后,我很清楚。 Map本身的键是列,所以框架知道在哪里插入值。 – Bevor 2013-05-11 17:26:03
@Bevor:正确。尽管如此,这确实限制了你简单的CRUD风格的INSERT语句。如果你想做一个'INSERT INTO ... SELECT FROM ...'语句,你必须通过'execSQL()'来完成。而且,当然,如果您愿意,欢迎您通过'execSQL()'完成所有插入操作。 – CommonsWare 2013-05-11 17:29:30