Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在android studio中从sqlite数据库中删除用户?_Java_Android_Sqlite_Android Sqlite_Delete Row - Fatal编程技术网

Java 如何在android studio中从sqlite数据库中删除用户?

Java 如何在android studio中从sqlite数据库中删除用户?,java,android,sqlite,android-sqlite,delete-row,Java,Android,Sqlite,Android Sqlite,Delete Row,我试图弄清楚如何在编辑文本中键入用户用户名,然后单击删除,一次删除一个用户,然后我希望从数据库中删除所有用户信息(用户名、用户名、密码、生日、电话、地址)。下面是我的代码,由于某些原因,它不工作,任何人都可以请帮助我!!我非常绝望,几个小时来我一直在努力解决这个问题 DatabaseHelperUser类: public class DatabaseHelperUser extends SQLiteOpenHelper { public static final String DATABASE

我试图弄清楚如何在编辑文本中键入用户用户名,然后单击删除,一次删除一个用户,然后我希望从数据库中删除所有用户信息(用户名、用户名、密码、生日、电话、地址)。下面是我的代码,由于某些原因,它不工作,任何人都可以请帮助我!!我非常绝望,几个小时来我一直在努力解决这个问题

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 = "ID";
public static final String COL2 = "UserNum";
public static final String COL3 = "UserName";
public static final String COL4 = "Password";
public static final String COL5 = "BirthDate";
public static final String COL6 = "Phone";
public static final String COL7 = "Address";


public DatabaseHelperUser(Context context) {
    super(context, DATABASE_NAME, null, 1);
}


@Override
public void onCreate(SQLiteDatabase db) {

    db.execSQL("create table " + TABLE_NAME + " (ID INTEGER PRIMARY KEY AUTOINCREMENT, 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 boolean deleteData(String UserName) {
    SQLiteDatabase db = this.getWritableDatabase();
    return db.delete(TABLE_NAME, "UserName" + "=?" + UserName, null) > 0;

}


}
public class RemoveUser extends AppCompatActivity {

Button btdelete;
EditText txtUser;

DatabaseHelperUser myDb;

private String selectedName;


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

    btdelete = (Button) findViewById(R.id.butRemove);
    txtUser = (EditText) findViewById(R.id.etxtUserName);


    myDb = new DatabaseHelperUser(this);

    btdelete.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            boolean delete = myDb.deleteData(txtUser.getText().toString());

            if(delete == true)
            Toast.makeText(RemoveUser.this,"User has been deleted", Toast.LENGTH_LONG).show();

            else
                Toast.makeText(RemoveUser.this,"User has not been deleted", Toast.LENGTH_LONG).show();

        }
    });


}
}
RemoveUser类:

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 = "ID";
public static final String COL2 = "UserNum";
public static final String COL3 = "UserName";
public static final String COL4 = "Password";
public static final String COL5 = "BirthDate";
public static final String COL6 = "Phone";
public static final String COL7 = "Address";


public DatabaseHelperUser(Context context) {
    super(context, DATABASE_NAME, null, 1);
}


@Override
public void onCreate(SQLiteDatabase db) {

    db.execSQL("create table " + TABLE_NAME + " (ID INTEGER PRIMARY KEY AUTOINCREMENT, 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 boolean deleteData(String UserName) {
    SQLiteDatabase db = this.getWritableDatabase();
    return db.delete(TABLE_NAME, "UserName" + "=?" + UserName, null) > 0;

}


}
public class RemoveUser extends AppCompatActivity {

Button btdelete;
EditText txtUser;

DatabaseHelperUser myDb;

private String selectedName;


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

    btdelete = (Button) findViewById(R.id.butRemove);
    txtUser = (EditText) findViewById(R.id.etxtUserName);


    myDb = new DatabaseHelperUser(this);

    btdelete.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            boolean delete = myDb.deleteData(txtUser.getText().toString());

            if(delete == true)
            Toast.makeText(RemoveUser.this,"User has been deleted", Toast.LENGTH_LONG).show();

            else
                Toast.makeText(RemoveUser.this,"User has not been deleted", Toast.LENGTH_LONG).show();

        }
    });


}
}

必须将变量
UserName
作为方法
delete()
的3d参数传递,以便在执行语句时替换占位符

public boolean deleteData(String UserName) {
    SQLiteDatabase db = this.getWritableDatabase();
    return db.delete(TABLE_NAME, "UserName = ?", new String[] {UserName}) > 0;
}

必须将变量
UserName
作为方法
delete()
的3d参数传递,以便在执行语句时替换占位符

public boolean deleteData(String UserName) {
    SQLiteDatabase db = this.getWritableDatabase();
    return db.delete(TABLE_NAME, "UserName = ?", new String[] {UserName}) > 0;
}

抱歉@forpas那是个错误应该是backSorry@forpas那是个错误应该是back