Tôi đã thực hiện rất nhiều nghiên cứu và không thể tìm thấy một phương pháp phù hợp để xóa tất cả các bảng trong cơ sở dữ liệu SQLite. Cuối cùng, tôi đã làm một mã để có được tất cả các tên bảng từ cơ sở dữ liệu và Tôi đã cố gắng xóa các bảng bằng cách sử dụng tên bảng đã truy xuất từng cái một. Nó cũng không hoạt động.Xóa tất cả các bảng khỏi cơ sở dữ liệu sqlite
Vui lòng đề xuất cho tôi một phương pháp xóa tất cả các bảng khỏi cơ sở dữ liệu.
Đây là mã mà tôi sử dụng:
public void deleteall(){
SQLiteDatabase db = this.getWritableDatabase();
Cursor c = db.rawQuery("SELECT name FROM sqlite_master WHERE type='table'", null);
do
{
db.delete(c.getString(0),null,null);
}while (c.moveToNext());
}
chức năng deleteall()
được gọi vào nút nhấp chuột whos đang được đưa ra như sau:
public void ButtonClick(View view)
{
String Button_text;
Button_text = ((Button) view).getText().toString();
if(Button_text.equals("Delete Database"))
{
DatabaseHelper a = new DatabaseHelper(this);
a.deleteall();
Toast.makeText(getApplicationContext(), "Database Deleted Succesfully!", Toast.LENGTH_SHORT).show();
}}
Bạn có muốn _remove_ tất cả các bảng từ cơ sở dữ liệu, hoặc chỉ xóa tất cả dữ liệu trong các bảng? –
Bạn không thể xóa toàn bộ tập tin cơ sở dữ liệu? http://stackoverflow.com/questions/4406067/how-to-delete-sqlite-database-from-android-programmatically?rq=1 – Thilo
@TimBiegeleisen: Tôi muốn xóa tất cả các bảng khỏi cơ sở dữ liệu, không chỉ xóa dữ liệu trong bảng.Vui lòng đề xuất cho tôi một phương pháp để xóa tất cả các bảng. –