手记

如何更新数据(SQL)

Database中也提供了一个很好用的方法update(),用于对数据的更新,这个方法接收4个参数。

参数1:表名 ,即哪张表

参数2:ContentValues ,即把要更新的内容填入

参数3:相当于where ,就是更新哪个列,起占位符的作用

参数4 :指定更具体哪几行


比方说,上次我们举的书单的例子,这个书买得不是很好,需要降价,所以要把价格那一行的价格调低。

例子如下:

package com.example.sqlapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
    private Button create_database,add_data,update_data;
    private MyDatabaseHelper dbHelper;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        dbHelper = new MyDatabaseHelper(this,"BookStore.db",null,2);
        create_database = (Button)findViewById(R.id.create_database);
        add_data =(Button)findViewById(R.id.add_data);
        update_data = (Button)findViewById(R.id.update_data);
        create_database.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dbHelper.getReadableDatabase();
            }
        });
        add_data.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                SQLiteDatabase db = dbHelper.getWritableDatabase();
                ContentValues values = new ContentValues();
                values.put("name","La la land");
                values.put("author","Jane Zhong");
                values.put("pages",88);
                values.put("price",88);
                db.insert("Book",null,values);
                values.clear();
                //第二组
                values.put("name","Dong success");
                values.put("author","Jane Zhong");
                values.put("pages",88);
                values.put("price",88);
                db.insert("Book",null,values);

            }
        });

        update_data.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                SQLiteDatabase db = dbHelper.getWritableDatabase();
                ContentValues values = new ContentValues();
                values.put("price",10);
                db.update("Book",values,"name = ?",new String[] {"Dong success"});

            }
        });
    }
}


0人推荐
随时随地看视频
慕课网APP