1

テーブルのsqliteデータベースにアカウント設定を保存しています。私のアプリでは、所有できるアカウントの最大数が 8 であるため、8 つのエントリのみを作成したいと考えています。テーブル内のレコード数を確認することで、それを行う予定です。

     @Override
     public void onCreate(SQLiteDatabase db) {
         String q="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);"

私の質問は、特定のエントリを削除または編集できるようにしたいということです。追加の手順を実行する必要がありますか、それともデータベースが削除されたエントリを新しく追加されたエントリに自動的に置き換え、レコードの NO が常に 8 未満のままになるのでしょうか。

4

1 に答える 1

1

そのような機能を自動的に提供するものはありません。データベースでこの種の操作を複数行う場合は、必ずトランザクションを使用してください。

疑似コードに新しいアカウントを挿入するときにすべきことは次のとおりです。

beginTransaction
if (getRecordCount >=8) deleteOneAccount
insertNewAccount
commit transaction
于 2013-11-06T09:14:50.617 に答える