如何在Android中写入SQLite db中特定ROWID的条目

如何在Android中写入SQLite db中特定ROWID的条目,android,android-sqlite,Android,Android Sqlite,我想知道是否有可能在android中为特定的ROWID写入一个条目。这是我的创建条目代码 public long createEntry(String cType, String siteName, String siteNum, String username, String pass) { ContentValues cv= new ContentValues(); cv.put(KEY_CTYPE,cType); cv

我想知道是否有可能在android中为特定的ROWID写入一个条目。这是我的创建条目代码

public long createEntry(String cType, String siteName, String siteNum,
                       String username, String pass) {

    ContentValues cv= new ContentValues();
    cv.put(KEY_CTYPE,cType);
    cv.put(KEY_SNAME,siteName);
    cv.put(KEY_SNUMB,siteNum);
    cv.put(KEY_USRN,username);
    cv.put(KEY_PASS,pass);
    //cv.put(KEY_EMPTY,0);
    return ourDatabase.insert(DATABASE_TABLE,null,cv);
}
这就是我创建表的方式

public void onCreate(SQLiteDatabase db) {
      //  db.execSQL("DROP TABLE IF EXISTS " +DATABASE_TABLE);
        db.execSQL("CREATE TABLE "+ DATABASE_TABLE + "(" +
                KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
                + KEY_CTYPE + " TEXT NOT NULL,"
                +  KEY_SNAME + " TEXT NOT NULL,"
                +  KEY_SNUMB + " TEXT NOT NULL,"
                +  KEY_USRN + " TEXT NOT NULL,"
                +  KEY_PASS + " TEXT NOT NULL,"
                +  KEY_EMPTY + " INTEGER);"
        );
        /*for(int x=1;x<9;x++){
            createEntry("Account"+ String.valueOf(x),"","","","");

        }*/

    }
public void onCreate(SQLiteDatabase db){
//db.execSQL(“如果存在删除表”+数据库_表);
db.execSQL(“创建表”+数据库表+”(“+
KEY_ROWID+“整数主键自动递增,”
+KEY_CTYPE+“文本不为空,”
+密钥\u SNAME+“文本不为空,”
+密钥\u SNUMB+“文本不为空,”
+键\u USRN+“文本不为空,”
+密钥传递+“文本不为空,”
+键_EMPTY+“INTEGER);”
);
/*对于(int x=1;x

假设我保存了6个帐户-用户删除了第5个。现在什么时候 用户添加了一个新帐户我希望它被写入ROWID=5而不是 7.–赫拉齐

您可以将行标记为已删除,而不是毫无理由地打开黑洞。然后,您可以更新“已删除”记录并删除“已删除”标志,而不是创建新记录。这样,ROWID将始终保持不变


您可以管理自己的ID字段。

我认为在插入之前无法设置rowid。无论如何,您为什么要这样做?我有一些帐户要保存-总共有8个。如果我能够写入特定行,这将使我的工作更轻松,因为帐户1将保存在rowid=1中,依此类推。假设我有6个帐户要保存-and用户删除第5个。现在,当用户添加一个新帐户时,我希望它被写入ROWID=5而不是7。ROWID是系统字段,如果有办法实现这一点,我真的建议你不要这样做。你必须管理ID字段,只需在另一个不同于ROWID的帐户中进行。你能给出示例代码来帮助我吗?我很困惑!:(没有这方面的示例代码。这是您组织数据库的方式。如果您将记录标记为已删除,则应将其从您所做的所有其他选择中排除(其中[DeletedFlag]=0)。插入时,您将检查[DletedFlag]=1的记录,并对其进行修改,而不是插入并设置[DeletedFlag]=0。如果您管理自己的id字段,则必须检查整个表中的“孔”,并自行设置此id