无法删除记录

时间:2013-05-05 19:13:43

标签: android sqlite

我的删除记录功能:

public void delete_byID(int uid){
    sqLiteDatabase.delete(KK_AIRLINEBOOK, KEY_ID + "= ?", new String[] {String.valueOf(uid)});       
}

我正在尝试删除记录的代码:

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);

// set title
alertDialogBuilder.setTitle("Cancel Booking");

// set dialog message
alertDialogBuilder.setMessage("Do You Really Want To Cancel Your Booking!")
.setCancelable(false)
.setPositiveButton("Yes",
new DialogInterface.OnClickListener() {

    public void onClick(DialogInterface dialog,int id) {


        // if this button is clicked, close
        // current activity
        Toast.makeText(CancelCabBooking.this, "Your
        Booking Is Canceled Now Thank You!!!!!",
        Toast.LENGTH_LONG).show();

        int uid=myPrefs.getInt("USERID", 0);
        mySQLiteAdapter.delete_byID(uid);
        Intent submit= new Intent(CancelCabBooking.this,Customerhome.class);
        startActivity(submit);
        finish();
        srno.setText("");
        charges.setText("");
        seats.setText("");
        CancelCabBooking.this.finish();

    }

}
)
.setNegativeButton("No",new DialogInterface.OnClickListener() {

    public void onClick(DialogInterface dialog,int id) {

        // if this button is clicked, just close
        // the dialog box and do nothing
        dialog.cancel();            
    }

}
);

// create alert dialog
AlertDialog alertDialog = alertDialogBuilder.create();

// show it
alertDialog.show();

}

我没有收到任何错误,但记录未被删除。它仍然保持原样。 请帮助我,我已经提到了许多答案,但仍未完成。 谢谢

1 个答案:

答案 0 :(得分:1)

您正在将ID值转换为字符串。 没有记录,其ID是具有该值的字符串。

普通整数在格式化或SQL注入方面没有问题,因此将它们直接嵌入查询字符串是安全的:

sqLiteDatabase.delete(KK_AIRLINEBOOK, KEY_ID + " = " + uid);