Android studio 如何从SQLite中的特定数据库中删除表?
我有一个应用程序,我正在创建,我希望能够在其中输入用户用户名,然后单击删除,然后它将删除该特定用户的所有数据。但到目前为止,当我出于某种原因这样做时,它向我展示了“数据未被删除”的Toast消息,无论发生什么。如果有人知道我在代码中哪里出错了,那么任何帮助都会很棒 删除类:Android studio 如何从SQLite中的特定数据库中删除表?,android-studio,delete-row,Android Studio,Delete Row,我有一个应用程序,我正在创建,我希望能够在其中输入用户用户名,然后单击删除,然后它将删除该特定用户的所有数据。但到目前为止,当我出于某种原因这样做时,它向我展示了“数据未被删除”的Toast消息,无论发生什么。如果有人知道我在代码中哪里出错了,那么任何帮助都会很棒 删除类: public class Remove extends AppCompatActivity { DatabaseHelperUser myDb; @Override protected void onCreate(Bun
public class Remove extends AppCompatActivity {
DatabaseHelperUser myDb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_remove);
final EditText etUser = findViewById(R.id.editTextUser);
myDb = new DatabaseHelperUser(this);
Integer deletedRows = myDb.deleteData(etUser.getText().toString());
if(deletedRows > 0){
Toast.makeText(getApplicationContext(), "Data Deleted", Toast.LENGTH_LONG).show();}
else{
Toast.makeText(getApplicationContext(), "Data has not been Deleted", Toast.LENGTH_LONG).show();}
}
}
DatabaseHelperUser类:
public class DatabaseHelperUser extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "User.db";
public static final String TABLE_NAME = "User_table";
public static final String COL1 = "UserNum";
public static final String COL2 = "UserName";
public static final String COL3 = "Password";
public static final String COL4 = "BirthDate";
public static final String COL5 = "Phone";
public static final String COL6 = "Address";
public DatabaseHelperUser(Context context){
super(context, DATABASE_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table " + TABLE_NAME + " (UserNum TEXT,UserName Text,Password Text,BirthDate Text,Phone Text,Address Text)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int i, int i1) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
public Cursor getData(){
SQLiteDatabase db = this.getWritableDatabase();
Cursor res = db.rawQuery("select * from " + TABLE_NAME, null);
return res;
}
public Integer deleteData(String UserName){
SQLiteDatabase db = this.getWritableDatabase();
return db.delete(TABLE_NAME, "UserName = ?", new String[] {UserName});
}
}