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"}); } }); } }