1

给定需要更新或向数据库添加记录的项目列表,我如何UPSERT使用 SQLJet 执行/复制操作?下面我有一个小解决方案,但问题是如果列表中的游戏顺序发生变化,那么我可能会跳过数据库中的一条记录,并为游戏列表中的项目添加重复项。

for (Game g : games) {
    if (!updateCursor.eof() &&
         updateCursor.getString(GAME_TABLE_GID).equals(g.getGameID())) {
         updateCursor.update(
             updateCursor.getInteger(GAME_TABLE_PID),
             updateCursor.getString(GAME_TABLE_GID),
             gson.toJson(g)
         );
         updateCursor.next();
     }
     else {
         gameTable.insert(g.getGameID(), gson.toJson(g));
     }
}

我正在考虑的其他解决方案包括遍历列表,然后每次遍历整个表,与行中每条记录的给定游戏 ID 进行比较。我真的不想这样做。

我已经尝试为此查找文档,但是在 Stack Overflow 上标记为 SQLJet 的 10 个(现在是 11 个)问题中,并且该项目似乎缺乏文档,我找不到任何东西。

4

0 回答 0