• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
戈瑾
博客园    首页    新随笔    联系   管理    订阅  订阅
Android学习——更新数据

更新数据

QLiteDatabase 中也是提供了一个非常好用的 update()方法用于对数据进行更新,这个方法接收四个参数,第一个参数和 insert()方法一样,也是表名,在这里指定去更新哪张表里的数据。第二个参数是 ContentValues 对象,要把更新数据在这里组装进去。第三、第四个参数用于去约束更新某一行或某几行中的数据,不指定的话默认就是更新所有行。 


 

示例

修改 activity_main.xml 中的 代码:

 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"
 2 
 3 android:orientation="vertical" >
 4 
 5  
 6 
 7 ……
 8 
 9  
10 
11 <Button android:id="@+id/update_data" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Update data"
12 
13 />
14 
15 </LinearLayout>

修改MainActivity中的代码:

 1 public class MainActivity extends Activity {
 2 
 3  
 4 
 5 private MyDatabaseHelper dbHelper;
 6 
 7  
 8 
 9 @Override
10 
11 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
12 
13 dbHelper = new MyDatabaseHelper(this, "BookStore.db", null, 2);
14 
15 ……
16 
17 Button updateData = (Button) findViewById(R.id.update_data);
18 
19 updateData.setOnClickListener(new OnClickListener() {
20 
21 @Override
22 
23 public void onClick(View v) {
24 
25 SQLiteDatabase db = dbHelper.getWritableDatabase();
26 
27  
28 
29 ContentValues values = new ContentValues();
30 
31 values.put("price", 10.99);
32 
33 db.update("Book", values, "name = ?", new String[] { "The DaVinci Code" });
34 
35 }
36 
37 });
38 
39 }
40 
41 }

这里在更新数据按钮的点击事件里面构建了一个 ContentValues 对象,并且只给它指定 了一组数据,说明我们只是想把价格这一列的数据更新成 10.99。然后调用了 SQLiteDatabase 的 update()方法去执行具体的更新操作,可以看到,这里使用了第三、第四个参数来指定具 体更新哪几行。第三个参数对应的是 SQL 语句的 where 部分,表示去更新所有 name 等于? 的行,而?是一个占位符,可以通过第四个参数提供的一个字符串数组为第三个参数中的每 个占位符指定相应的内容。因此上述代码想表达的意图就是,将名字是 The Da Vinci Code 的这本书的价格改成 10.99。

posted on 2021-05-20 20:52  戈瑾  阅读(220)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3