如何在android studio中的sqlite中删除特定表?

问题描述

我有一个应用程序可以即时创建用户想要输入用户名并单击删除的应用程序,然后它将删除特定用户的所有数据,例如,地址,电话,生日。但是由于某些原因,当我单击“删除”按钮以管理用户活动时,该按钮应将我带到删除活动,它带我回到主要活动!任何人都可以看到我做错了什么!!!

删除课程:

public class Remove extends AppCompatActivity {

DatabaseHelperUser myDb;

Button btRemove = findViewById(R.id.buttonRemove);

@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);


    btRemove.setonClickListener(new View.OnClickListener() {
        public void onClick(View view) {

            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});

}

}

管理用户类别:

public class ManagingUsers extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_managing_users);

    final Button btadd = findViewById(R.id.buttonAdd);
    final Button btInventory = findViewById(R.id.buttonInventory2);
    final Button btView = findViewById(R.id.buttonView);
    final Button btRemove = findViewById(R.id.buttonRemove);

    btadd.setonClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            Intent i = new Intent(getApplicationContext(),Add.class);
            startActivity(i);
        }
    });
    btInventory.setonClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            Intent i = new Intent(getApplicationContext(),Inventory.class);
            startActivity(i);
        }
    });
    btView.setonClickListener(new View.OnClickListener() {

        public void onClick(View view) {

            Intent i = new Intent(getApplicationContext(),com.example.assignment3.View.class);
            startActivity(i);
        }
    });
    btRemove.setonClickListener(new View.OnClickListener() {
        public void onClick(View view) {

            Intent i = new Intent(getApplicationContext(),com.example.assignment3.Remove.class);
            startActivity(i);

        }
    });



}

}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)