删除删除异常?

时间:2011-06-22 10:59:28

标签: android database

我正在开发一个构建数据库的应用程序,我在教程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();
    }

1 个答案:

答案 0 :(得分:2)

如果要跟踪某些时间点分配的所有ID,则无法删除“主”表中的相应行。

您可以使用额外的状态列(int或boolean)来存储该记录是否处于活动状态。

创建新项目时,将其状态设置为“活动”。删除时,请不要删除该行,而是将状态列更新为“非活动”。