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 了。
android: SQLite更新数据的更多相关文章
- Android 数据库管理— — —更新数据
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=" ...
- android: SQLite添加数据
现在你已经掌握了创建和升级数据库的方法,接下来就该学习一下如何对表中的数据进 行操作了.其实我们可以对数据进行的操作也就无非四种,即 CRUD.其中 C 代表添加 (Create),R 代表查询(Re ...
- android: SQLite查询数据
掌握了查询数据的方法之后,你也就将数据库的 CRUD 操 作全部学完了.不过千万不要因此而放松,因为查询数据也是在 CRUD 中最复杂的一种 操作. 我们都知道 SQL 的全称是 Structured ...
- android: SQLite删除数据
删除数据对你来说应该就更简单了,因为它所需要用到的知识点你全部已经学过了. SQLiteDatabase 中提供了一个 delete()方法专门用于删除数据,这个方法接收三个参数,第一 个参数仍然是表 ...
- Android ViewPager更新数据
ViewPager也是一个常用的组件 与ListView类似 当绑定数据后 想刷新数据 需要在适配器中添加如下方法 protected PagerAdapter galleryAdapter = ne ...
- android sqlite导入数据
@Override public void onUpgrade(SQLiteDatabase db, int arg1, int arg2) { // TODO Auto-generated meth ...
- Android SQLite数据库使用
在Android开发中SQLite起着很重要的作用,网上SQLite的教程有很多很多,不过那些教程大多数都讲得不是很全面.本人总结了一些SQLite的常用的方法,借着论坛的大赛,跟大家分享分享的.一. ...
- Android SQLite (二) 基本用法
在Android开发中SQLite起着很重要的作用,网上SQLite的教程有很多很多,不过那些教程大多数都讲得不是很全面.本人总结了一些SQLite的常用的方法,借着论坛的大赛,跟大家分享分享的. 一 ...
- Android SQLite简介
SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP, Python)都使 ...
随机推荐
- mfc中Button、Edit Control和MFC EditBrowse Control的用法
[前(fei)言(hua)] 写LL(1)分析器被CString转string卡了一个多小时也是醉了. 趁着还算清醒写下这次用到的控件的使用方法好了. 这次实验的mfc用到了四个控件:Edit Con ...
- mfc中CString转化为string的方法
LL(1)分析法实验的mfc做到最后因为CString转化为string的问题卡了一个多小时,也是惨,网上各种方法找过都不行.幸亏最后还是找到几行代码搞定了.特此mark一下. USES_CONVER ...
- oracle 用户的管理<二>
oracle 用户的管理 创建用户 概述:在 oracle 中要创建一个新的用户使用 create user 语句,一般是具有 dba(数据库管理员)的权限才能使用. create user 用户名 ...
- XE3随笔9:使用不同的数据类型标记数组
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, For ...
- GATK使用说明-GRCh38(Genome Reference Consortium)(二)
Reference Genome Components 1. GRCh38 is special because it has alternate contigs that represent pop ...
- windows server 2008 - 创建域和本机用户
/* * ===================================================================================== * Filenam ...
- JS实现滑动门效果
html部分 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 31.0px Consolas; color: #2b7ec3 } p.p2 { margin ...
- Spring MVC学习初篇
Spring mvc 使用配置: <!-- 使用MVC --> <servlet> <servlet-name>defaultDispatcher</serv ...
- java抓取网页数据,登录之后抓取数据。
最近做了一个从网络上抓取数据的一个小程序.主要关于信贷方面,收集的一些黑名单网站,从该网站上抓取到自己系统中. 也找了一些资料,觉得没有一个很好的,全面的例子.因此在这里做个笔记提醒自己. 首先需要一 ...
- ASP.NET简单验证码
今天写了一个特别简单的验证码实现.现将代码贴出. protected void Page_Load(object sender, EventArgs e) { CreateCheckCodeImage ...