zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    Sql server Always On 读写分离配置方法
    MSSQL AlwaysOn中的“主角色中的连接”和“可读辅助副本”
    Windows Server 2019 Active Directory (AD域)时间不同步的解决方法
    windows server 2008 R2 域中用组策略隐藏指定磁盘驱动器(盘符)
    pg数据库优化
    Qlik
    如何查看数据库特别慢
    针对数量的null值最好要做变0处理
    pg如何实现月份的加减
    sql
  • 原文地址:https://www.cnblogs.com/znjy/p/14908168.html
Copyright © 2011-2022 走看看