zoukankan      html  css  js  c++  java
  • android: SQLite更新数据

    学习完了如何向表中添加数据,接下来我们看看怎样才能修改表中已有的数据。 SQLiteDatabase 中也是提供了一个非常好用的 update()方法用于对数据进行更新,这个方法 接收四个参数,第一个参数和 insert()方法一样,也是表名,在这里指定去更新哪张表里的数据。第二个参数是 ContentValues 对象,要把更新数据在这里组装进去。第三、第四个参数

    用于去约束更新某一行或某几行中的数据,不指定的话默认就是更新所有行。 那么接下来我们仍然是在 DatabaseTest 项目的基础上修改,看一下更新数据的具体用法。

    比如说刚才添加到数据库里的第一本书,由于过了畅销季,卖得不是很火了,现在需要通过 降低价格的方式来吸引更多的顾客,我们应该怎么操作呢?首先修改 activity_main.xml 中的 代码,如下所示:

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

    android:orientation="vertical" >

    ……

    <Button android:id="@+id/update_data" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Update data"

    />

    </LinearLayout>

    布局文件中的代码就已经非常简单了,就是添加了一个用于更新数据的按钮。然后修改

    MainActivity 中的代码,如下所示:

    public class MainActivity extends Activity {

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

    ……

    Button updateData = (Button) findViewById(R.id.update_data);

    updateData.setOnClickListener(new OnClickListener() {

    @Override

    public void onClick(View v) {

    SQLiteDatabase db = dbHelper.getWritableDatabase();

    ContentValues values = new ContentValues();

    values.put("price", 10.99);

    db.update("Book", values, "name = ?", new String[] { "The DaVinci Code" });

    }

    });

    }

    }

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

    现在重新运行一下程序,界面如图 6.23 所示。

    图   6.23

    点击一下 Update data 按钮后,再次输入查询语句查看表中的数据情况,结果如图 6.24所示。

    图   6.24

    可以看到,The Da Vinci Code 这本书的价格已经被成功改为 10.99 了。

  • 相关阅读:
    Ubuntu 10.04安装google拼音输入法
    Ubuntu 10.04 编译Android 2.1源码
    Android make sdk 错误解决方案
    关于android内核从linux内核分支上除名
    odex打包为可用的apk程序
    取得当前屏幕的截图
    android设备作为视频监控客户端的思路
    政府网站群系统选型
    浅谈网站群的一代与二代技术
    我的2013
  • 原文地址:https://www.cnblogs.com/zgqys1980/p/5238574.html
Copyright © 2011-2022 走看看