我正在开发一个构建数据库的应用程序,我在教程http://www.anotherandroidblog.com/2010/08/04/android-database-tutorial/的帮助下构建我的数据库,代码工作正常,但问题是当我从特定id中删除一个项目时,它只是删除行,该ID丢失。如何避免丢失该ID
代码如下:
private class CustomSQLiteOpenHelper extends SQLiteOpenHelper
{
public CustomSQLiteOpenHelper(Context context)
{
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db)
{
// This string is used to create the database. It should
// be changed to suit your needs.
String newTableQueryString = "create table " +
TABLE_NAME +
" (" +
TABLE_ROW_ID + " integer primary key autoincrement not null," +
TABLE_ROW_ONE + " text," +
TABLE_ROW_TWO + " text" +
");";
// execute the query string to the database.
db.execSQL(newTableQueryString);
}
和删除
public void deleteRow(long rowID)
{
// ask the database manager to delete the row of given id
try {db.delete(TABLE_NAME, TABLE_ROW_ID + "=" + rowID, null);}
catch (Exception e)
{
Log.e("DB ERROR", e.toString());
e.printStackTrace();
}
答案 0 :(得分:2)
如果要跟踪某些时间点分配的所有ID
,则无法删除“主”表中的相应行。
您可以使用额外的状态列(int或boolean)来存储该记录是否处于活动状态。
创建新项目时,将其状态设置为“活动”。删除时,请不要删除该行,而是将状态列更新为“非活动”。