从 android SQLite 数据库中删除行会在删除行后损坏条目
Deleting row from android SQLite database corrupts entries after deleted row
大家好,我是 android 开发的新手,一直在努力学习如何将 SQL 与 android 结合使用。我一直在使用此处 http://www.tutorialspoint.com/android/android_sqlite_database.htm
中的示例代码
除了删除行功能外,我已经能够按照我想要的方式运行所有功能。当我删除一行时,它下面的行中的数据变得损坏 and/or 与 id 列不同步。在过去的两天里,我一直在查看示例并仔细查看,但就是找不到答案,所以我希望你们中的一个能提供帮助。下面是正在发生的事情的一个简单示例。如果我需要 post 更多信息,请告诉我,非常感谢任何帮助。Diagram of problem
public Integer deleteContact (Integer id)
{
SQLiteDatabase db = this.getWritableDatabase();
return db.delete("contacts",
"id = ? ",
new String[] { Integer.toString(id) });
}
图表的结果是正确的。代码也是正确的。
如果你有:
ID | Value
----------
1 | a
2 | b <---- delete this
3 | c
结果将是:
ID | Value
----------
1 | a
3 | c
因此,id 为 3 的行仍然具有值 c。
如果您 运行 查询选择 ID 为 2 的行,应用程序可能会崩溃,因为返回的 Cursor 不指向行。
如果不处理这种情况,应用程序可能会崩溃。
我检查了你的图表,想告诉你首先你对第 2 行的删除操作也应该删除它的所有行值,甚至是 id。然后继续,Tutorial Points 有很好的例子。
根据您的问题:
删除前:
1-a
2-b
3-c
4-d
删除第二行后应该有:
1-a
3-c
4-d
大家好,我是 android 开发的新手,一直在努力学习如何将 SQL 与 android 结合使用。我一直在使用此处 http://www.tutorialspoint.com/android/android_sqlite_database.htm
中的示例代码除了删除行功能外,我已经能够按照我想要的方式运行所有功能。当我删除一行时,它下面的行中的数据变得损坏 and/or 与 id 列不同步。在过去的两天里,我一直在查看示例并仔细查看,但就是找不到答案,所以我希望你们中的一个能提供帮助。下面是正在发生的事情的一个简单示例。如果我需要 post 更多信息,请告诉我,非常感谢任何帮助。Diagram of problem
public Integer deleteContact (Integer id)
{
SQLiteDatabase db = this.getWritableDatabase();
return db.delete("contacts",
"id = ? ",
new String[] { Integer.toString(id) });
}
图表的结果是正确的。代码也是正确的。
如果你有:
ID | Value
----------
1 | a
2 | b <---- delete this
3 | c
结果将是:
ID | Value
----------
1 | a
3 | c
因此,id 为 3 的行仍然具有值 c。 如果您 运行 查询选择 ID 为 2 的行,应用程序可能会崩溃,因为返回的 Cursor 不指向行。 如果不处理这种情况,应用程序可能会崩溃。
我检查了你的图表,想告诉你首先你对第 2 行的删除操作也应该删除它的所有行值,甚至是 id。然后继续,Tutorial Points 有很好的例子。
根据您的问题: 删除前:
1-a
2-b
3-c
4-d
删除第二行后应该有:
1-a
3-c
4-d