2017-09-14 64 views
0

我正在做一個刪除功能。用戶將輸入他們的ID號碼以刪除一些數據。我可以設法獲取用戶輸入的內容,但不能執行刪除功能。我應該在哪裏將代碼放在下面的代碼中?Android SQLite刪除功能

Integer deletedRows = myDb.deleteData(result.getText().toString()); 

     if (deletedRows > 0) 
      Toast.makeText(MenuAdmin.this, "Data Deleted", Toast.LENGTH_LONG).show(); 
     else 
      Toast.makeText(MenuAdmin.this, "Data not Deleted", Toast.LENGTH_LONG).show(); 

這是班級。我想把上面的代碼放到這個類中。我找不到代碼的放置位置。

package com.example.user.unitenidol; 

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.app.AlertDialog; 
import android.content.Context; 
import android.database.Cursor; 
import android.view.LayoutInflater; 
import android.widget.EditText; 
import android.widget.Toast; 

import android.content.DialogInterface; 


public class MenuAdmin extends AppCompatActivity { 
    DatabaseHelp myDb; 
    Button bViewIdol; 
    Button bDeleteIdol; 
    final Context context = this; 
    private EditText result; 
    String del; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_menu_admin); 
     myDb = new DatabaseHelp(this); 

     bViewIdol = (Button) findViewById(R.id.bViewIdol); 
     bDeleteIdol = (Button) findViewById(R.id.bDeleteIdol); 
     viewAll(); 
     DeleteData(); 

     result = (EditText) findViewById(R.id.editText); 



     final Button bRegisterIdol = (Button) findViewById(R.id.bRegisterIdol); 


     bRegisterIdol.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent registerIntent = new Intent(MenuAdmin.this, RegisterIdol.class); 
       MenuAdmin.this.startActivity(registerIntent); 
      } 
     }); 
    } 

    public void viewAll() { 
     bViewIdol.setOnClickListener(
       new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         Cursor res = myDb.getAllData(); 
         if (res.getCount() == 0) { 
          // show message 
          showMessage("Error", "Nothing found"); 
          return; 
         } 

         StringBuffer buffer = new StringBuffer(); 
         while (res.moveToNext()) { 
          buffer.append("Id :" + res.getString(0) + "\n"); 
          buffer.append("Name :" + res.getString(1) + "\n"); 
          buffer.append("Username :" + res.getString(2) + "\n"); 
          buffer.append("Email :" + res.getString(3) + "\n\n"); 
         } 

         // Show all data 
         showMessage("Data", buffer.toString()); 
        } 
       } 
     ); 
    } 

    public void showMessage(String title, String Message) { 
     AlertDialog.Builder builder = new AlertDialog.Builder(this); 
     builder.setCancelable(true); 
     builder.setTitle(title); 
     builder.setMessage(Message); 
     builder.show(); 
    } 

    public void DeleteData() { 

     bDeleteIdol.setOnClickListener(
       new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 

         LayoutInflater li = LayoutInflater.from(context); 
         View promptsView = li.inflate(R.layout.promps, null); 

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

         alertDialogBuilder.setView(promptsView); 

         final EditText userInput = (EditText) promptsView 
           .findViewById(R.id.editTextDialogUserInput); 


         alertDialogBuilder 
           .setCancelable(false) 
           .setPositiveButton("OK", 
             new DialogInterface.OnClickListener() { 
              public void onClick(DialogInterface dialog, int id) { 
               // get user input and set it to del 
               // edit text 
               result.setText(userInput.getText()); 


              } 

             }) 
           .setNegativeButton("Cancel", 
             new DialogInterface.OnClickListener() { 
              public void onClick(DialogInterface dialog, int id) { 
               dialog.cancel(); 
              } 
             }); 



         AlertDialog alertDialog = alertDialogBuilder.create(); 

         alertDialog.show(); 

        } 

       }); 

    }  
} 
+1

發表您的SQLite數據庫幫手 –

+0

請不要'**大膽* *任意的東西。 – Chris

回答

0

您可以使用此功能在sqlite的數據庫刪除行

public boolean Delete(int rowId) 
    { 
     boolean Delete = false; 
     try { 
      Delete = mSQLiteDatabase.delete("your Table Name", "your column name" + "=" + rowId, null)>0; 

     }catch (Exception e) 
     { 

     } 
     return Delete; 
    } 

用法:

if(Delete(2)){ 
    //your row was deleted 
}