簡體   English   中英

Android SQLite特定的表行刪除

[英]Android SQLite specific table row deletion

我在Android設備上從我的SQLite數據庫中刪除特定用戶時遇到了一些麻煩。 我做了一個簡單的方法來刪除一個表行,其中table.name等於第一個輸入,table.surname等於第二個輸入。

這是我的方法:

void deleteUser(db_operations opt, String name, String surname) {
    SQLiteDatabase sdb = opt.getWritableDatabase();
    if(validate(name, surname) == true) {
        name = name.replaceAll("\\s+",""); surname = surname.replaceAll("\\s+","");
        try {
            String DELETE_USER = "DELETE FROM " + tb_users.tb_name + " WHERE " + tb_users.name + "='" + name + "' AND " + tb_users.surname + "='" + surname + "'";
            sdb.execSQL(DELETE_USER);
            sdb.close();
            System.out.println("Deletion SUCCESS!");
        } catch (SQLException e) {
            System.out.println("Deletion FAILED!");
        }
    }
}

如果我執行DELETE FROM myTableName語句,則每個用戶都從表中和我的ScrollView中刪除,這是正常的,但如果我執行上述方法刪除特定用戶,則輸出給出:

刪除成功!

但是我的桌子還有記錄。 該記錄也保留在我的ScrollView列表中(使用LinearLayouts制作)。 該列表是動態構建的。 在我的SQLite執行開始之前,我已經檢查過數據是否正常,看起來沒問題。 我無法弄清楚為什么我的方法不起作用。 也許我錯過了什么。

(代表作者提問)

我搞定了。 我發現我的驗證方法一直在返回錯誤的輸出(我在其中一個條件中輸了一個錯誤),這就是為什么我的方法永遠不會有機會執行。 感謝您提醒您使用日志。 能夠追蹤我的錯字。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM