如何从Android Studio中的sqlite数据库中删除用户?

哈里·布朗

我试图找出如何一次删除一个用户的方法,方法是在edittext中键入用户名,然后单击删除,然后从中删除所有用户信息(用户名,用户编号,密码,生日,电话,地址)数据库。下面是我的代码,由于某种原因它不起作用,任何人都可以帮助我!我非常绝望,我花了好几个小时试图找出问题所在。

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;

}


}

RemoveUser类:

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作为方法的3d参数传递delete(),以便?在执行语句时它将替换占位符

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Android中删除或更新SQLite数据库中的条目

如何从Xamarin中的SQLite数据库删除数据

从数据库中删除项目 - Android Studio 中的 ListView

android sqlite删除包中的数据库

如何从 ListView 和 SQLite 数据库中删除项目?

如何正确设置sqlite数据库中的删除方法?

如何从数据库中删除旧的mysql用户

如何从数据库中删除特定用户?

Android Studio,如何从Sqlite数据库中检索数据并将其显示到textview中?

在Android Studio中定义SQLite数据库

片段中的SQLite数据库-Android Studio

在Android Studio中查询sqlite数据库时出错

在Android Studio中的设备上查看SQLite数据库

为什么在Android Studio中更新或删除SQLite数据库中的项目时使用“ new String [] {}”?

如何在Android Studio上获取Sqlite数据库中插入数据的实时视图

在android中导入sqlite数据库时如何从csv文件中删除特殊字符

如何修复错误:在Android Studio SQLite数据库中找不到符号

如何从 SQLite 数据库 Android Studio 中获取所有表

在Android中升级SQLite数据库

ListView Android 中的 SQLite 数据库

在Android中备份SQLite数据库

在Android中连接SQLite数据库

android中的sqlite数据库错误

如何在android sqlite中更新数据库表?

如何从Android中的SQLite数据库获取名称

如何在android的Sqlite数据库中创建表

如何使用cursorloader读取Android中的SQLite数据库?

如何从Android中的SQLite数据库获取空值

如何在android中对sqlite数据库进行排序