Android SQLite insert语句始终覆盖现有行
我有一个简单的insert SQLite语句:Android SQLite insert语句始终覆盖现有行,android,sqlite,Android,Sqlite,我有一个简单的insert SQLite语句: private final String INSERT_FEED = "insert into " + TABLE_FEEDS + "([id],[first_name], [last_name], [image], [content]) " + "values (?,?,?,?,?)"; 我在一种方法中使用了: public long insertFeed(FeedsModel feed) {
private final String INSERT_FEED = "insert into "
+ TABLE_FEEDS
+ "([id],[first_name], [last_name], [image], [content]) "
+ "values (?,?,?,?,?)";
我在一种方法中使用了:
public long insertFeed(FeedsModel feed) {
this.insertStmt = db.compileStatement(INSERT_FEED);
this.insertStmt.bindString(1, feed.getId() + "");
this.insertStmt.bindString(2, feed.getFirstName());
this.insertStmt.bindString(3, feed.getLastName());
this.insertStmt.bindString(4, feed.getProfileImage());
this.insertStmt.bindString(5, feed.getContentDetails());
long result = this.insertStmt.executeInsert();
return result;
}
后来,我在活动中使用了这种方法:
for(int i = 0; i < feedsAdapter.getCount() - 1; i++)
{
helper.insertFeed(feedsAdapter.getItem(i));
}
for(int i=0;i
问题是,表格始终只有一行,因为新数据将覆盖现有行,而不是插入新行。您当前的for循环正在插入除最后一行之外的所有FeedsModel。如果列表中只有一个模型,它将解释为什么您没有看到表中的任何新插入,而是:
for (FeedsModel feedsModel : feedsAdapter) {
helper.insertFeed(feedsModel);
}
这个语句返回什么
feedsAdapter.getCount()-1
@Siva它返回了11项可能显示sqlite表的查询有问题??1-如果是自动增量字段,则不应插入id值。2-为什么feedsAdapter.getCount()-1
?删除-1
。