Android笔记(四十三) Android中的数据存储——SQLite(五)delete

         SQLite通过delete()方法删除数据

         delete()方法参数说明:

delete()方法参数 对应sql部分 描述
table delte from table_name 要删除的表
whereClause where column 删除条件
whereArgs where column=? 删除条件的参数

         看代码:

MainActivity.java

package cn.lixyz.sqlite;

import android.app.Activity;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {

    private EditText name, age, paramter, originalAge, newAge, deleteAge;
    private Button insertButton, selectButton, paramterSelect, updateButton, deleteButton;

    private SQLiteDatabase database;
    private MySQLiteOpenHelper msop;

    public String inputSex;

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

        findView();

        msop = new MySQLiteOpenHelper(this, "user.db", null, 1);
        database = msop.getReadableDatabase();

    }

    private void findView() {
        name = (EditText) findViewById(R.id.name);
        age = (EditText) findViewById(R.id.age);
        insertButton = (Button) findViewById(R.id.insertButton);
        selectButton = (Button) findViewById(R.id.selectButton);
        paramter = (EditText) findViewById(R.id.paramter);
        paramterSelect = (Button) findViewById(R.id.paramterSelect);
        originalAge = (EditText) findViewById(R.id.originalAge);
        newAge = (EditText) findViewById(R.id.newAge);
        updateButton = (Button) findViewById(R.id.updateButton);
        deleteAge = (EditText) findViewById(R.id.deleteAge);
        deleteButton = (Button) findViewById(R.id.deleteButton);
    }

    public void clickButton(View view) {
        switch (view.getId()) {
        case R.id.selectButton:
            selectData();
            break;

        case R.id.insertButton:
            insertData();
            break;
        case R.id.paramterSelect:
            paramterSelect();
            break;
        case R.id.updateButton:
            updateData();
            break;
        case R.id.deleteButton:
            deleteData();
        }
    }

    private void deleteData() {
        String str = deleteAge.getText().toString();
        String whereClause = "age = ?";
        String[] whereArgs = new String[] { str };

        int i = database.delete("user", whereClause, whereArgs);
        if (i > 0) {
            Toast.makeText(MainActivity.this, "删除成功", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(MainActivity.this, "删除不成功", Toast.LENGTH_SHORT).show();
        }

    }

    private void updateData() {
        String oldAge = originalAge.getText().toString();
        String updateAge = newAge.getText().toString();
        ContentValues cv = new ContentValues();
        cv.put("age", updateAge);
        String whereColumn = "age=?";// 修改条件
        String[] whereArgs = { oldAge };
        int i = database.update("user", cv, whereColumn, whereArgs);
        if (1 > 0) {
            Toast.makeText(MainActivity.this, "更新成功", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(MainActivity.this, "更新不成功", Toast.LENGTH_SHORT).show();
        }
    }

    private void paramterSelect() {
        String inputAge = paramter.getText().toString();
        Cursor c = database.rawQuery("select * from user where age>?", new String[] { inputAge });
        if (c.moveToFirst()) {
            do {
                int id = c.getInt(c.getColumnIndex("id"));
                String name = c.getString(c.getColumnIndex("name"));
                String age = c.getString(c.getColumnIndex("age"));
                Log.d("TTTT", "id=" + id + ",name=" + name + ",age=" + age);
            } while (c.moveToNext());
        }
        c.close();

    }

    private void insertData() {
        String inputAge = age.getText().toString();
        String inputName = name.getText().toString();
        ContentValues cv = new ContentValues();
        cv.put("name", inputName);
        cv.put("age", inputAge);
        database.insert("user", null, cv);
        Toast.makeText(MainActivity.this, "插入成功", Toast.LENGTH_SHORT).show();
        age.setText("");
        name.setText("");

    }

    private void selectData() {
        Cursor c = database.query("user", null, null, null, null, null, null);
        if (c.moveToFirst()) {
            do {
                int id = c.getInt(c.getColumnIndex("id"));
                String name = c.getString(c.getColumnIndex("name"));
                String age = c.getString(c.getColumnIndex("age"));
                Log.d("TTTT", "id=" + id + ",姓名=" + name + ",年龄=" + age);
            } while (c.moveToNext());
        }
        c.close();

    }

    class MySQLiteOpenHelper extends SQLiteOpenHelper {

        private static final String CREATE_USER = "create table user(id integer primary key autoincrement,name text,age text)";

        private Context mContext;

        public MySQLiteOpenHelper(Context context, String name, CursorFactory factory, int version) {
            super(context, name, factory, version);
            mContext = context;
        }

        @Override
        public void onCreate(SQLiteDatabase db) {
            db.execSQL(CREATE_USER);
        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            // TODO Auto-generated method stub

        }

    }
}

activity_main.xml

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".MainActivity" >

        <EditText
            android:id="@+id/name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="输入姓名" />

        <EditText
            android:id="@+id/age"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="输入年龄" />

        <Button
            android:id="@+id/insertButton"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:onClick="clickButton"
            android:text="点击插入" />

        <Button
            android:id="@+id/selectButton"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:onClick="clickButton"
            android:text="点击查询" />

        <TextView
            android:id="@+id/text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="条件搜索" />

        <EditText
            android:id="@+id/paramter"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="您要搜多少岁以上的?" />

        <Button
            android:id="@+id/paramterSelect"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:onClick="clickButton"
            android:text="点击搜索" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="update" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <EditText
                android:id="@+id/originalAge"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:hint="要修改的年龄" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="修改为" />

            <EditText
                android:id="@+id/newAge"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:hint="新年龄" />
        </LinearLayout>

        <Button
            android:id="@+id/updateButton"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:onClick="clickButton"
            android:text="UPDATE" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="删除数据" />

        <EditText
            android:id="@+id/deleteAge"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="您要删除的年龄" />

        <Button
            android:id="@+id/deleteButton"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:onClick="clickButton"
            android:text="点击删除" />
    </LinearLayout>

</ScrollView>

         运行结果:

原文地址:https://www.cnblogs.com/xs104/p/4916146.html