一、增删改查

这是删除之前

删除三条

Dao.java

package com.example.databasedemo;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log; /**
* 这个类用于对数据库的增删改查
*/
public class Dao { private final DatabaseHelper mHelper;
private static final String TAG="Dao";
public Dao(Context context){ //创建数据库
//Ctrl+Alt+F,之后加回车,创建成员变量
mHelper = new DatabaseHelper(context); } public void insert(){
SQLiteDatabase db = mHelper.getWritableDatabase();
// String sql="insert into "+Constants.TABLE_NAME+"(_id,name,age,salary,phone) values(?,?,?,?,?)";
// Object []obj={1,"zzw",19,2,1234567890};
// db.execSQL(sql,obj);
ContentValues values =new ContentValues();
//插入数据
values.put("_id",2);
values.put("name","zs");
values.put("age",23);
values.put("salary",5);
values.put("phone",12345);
db.insert(Constants.TABLE_NAME,null,values);
db.close();
} public void delete(){
SQLiteDatabase db = mHelper.getWritableDatabase();
// String sql="delete from "+Constants.TABLE_NAME+" where name = ?";
// Object []obj={"zzw"};
// db.execSQL(sql,obj);
int result = db.delete(Constants.TABLE_NAME, null, null);
Log.d(TAG,"result="+result);
db.close();
} public void update(){
SQLiteDatabase db = mHelper.getWritableDatabase();
// String sql="update "+Constants.TABLE_NAME+" set salary= ? where name = ?";
// Object []obj={3,"zzw"};
// db.execSQL(sql,obj);
ContentValues values = new ContentValues();
values.put("phone",54321);
db.update(Constants.TABLE_NAME,values,null,null);
db.close();
} public void query(){
SQLiteDatabase db = mHelper.getWritableDatabase();
// String sql="select * from "+Constants.TABLE_NAME+" where name = ?";
// String []obj={"zzw"};
// Cursor cursor = db.rawQuery(sql, obj);
// while (cursor.moveToNext()){
// String name = cursor.getString(cursor.getColumnIndex("name"));
// String age = cursor.getString(cursor.getColumnIndex("age"));
// Log.d(TAG,"名字:"+name+"年龄:"+age);
// }
// cursor.close(); Cursor cursor = db.query(Constants.TABLE_NAME, null, null, null, null, null, null); while (cursor.moveToNext()){
int id = cursor.getInt(0);
String name = cursor.getString(1);
Log.d(TAG,"ID="+id+"name="+name);
} cursor.close();
db.close();
}
}

二、数据库事务

两个特点

1、安全性

通过Try{}Catch{}的进行,保证一次性将Try中的部分全部执行,避免数据丢失。

2、高效性

可以在短时间内将大量数据先写入内存,然后一次写入数据库。

通过Android的API对Sqlite数据库进行操作的更多相关文章

  1. android开发之使用SQLite数据库存储

    http://blog.csdn.net/jason0539/article/details/16360835 SQLite 介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且 ...

  2. 在Android 开发中使用 SQLite 数据库笔记

    SQLite 介绍   SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PH ...

  3. Android虚拟机中的sqlite数据库文件

    Android虚拟机中的sqlite数据库文件 ①

  4. android:Android中用文件初始化sqlite数据库(zz)

        很多时候在应用安装初始化时,需要创建本地数据库,同时为数据库添加数据,之后再从数据库中读取数据. 这里有2个思路 1.先在本地创建一个能支持android使用的sqlite数据库文件,启动时, ...

  5. 通过adb shell操作android真机的SQLite数据库

    要通过命令行直接操作android真机上的SQLite数据库,可以直接通过adb shell来完成,不过,前提是必须获得root权限. 另外,android系统其实就是linux的shell,这个应该 ...

  6. Android 查看和管理sqlite数据库

    在Android中可以使用Eclipse插件DDMS来查看,也可以使用Android工具包中的adb工具来查看.android项目中的sqlite数据库位于/data/data/项目包/databas ...

  7. android:Android中用文件初始化sqlite数据库

    很多时候在应用安装初始化时,需要创建本地数据库,同时为数据库添加数据,之后再从数据库中读取数据. 这里有2个思路 1.先在本地创建一个能支持android使用的sqlite数据库文件,启动时,用现成的 ...

  8. Android数据存储之SQLite数据库

    Android数据存储 之SQLite数据库简介 SQLite的相关知识,并结合Java实现对SQLite数据库的操作. SQLite是D.Richard Hipp用C语言编写的开源嵌入式数据库引擎. ...

  9. 从C#到Objective-C,循序渐进学习苹果开发(7)--使用FMDB对Sqlite数据库进行操作

    本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验.本篇主要开始介绍基于XCod ...

随机推荐

  1. C中的文件操作函数[笔记]

    头件 : #include<stdio.h> 两个必须函数: FILE * fopen(const char * path,const char * mode); //path:文件路径 ...

  2. 剑指offer 链表中环的入口位置

    题目描述 一个链表中包含环,请找出该链表的环的入口结点.   思路:这题需要知道a = c,然后head和slow每次走一步,相遇的时候就是第一个入口交点, 注意:for循环或者while循环之后,一 ...

  3. vue的自定义

    自定义组件 组件是可以被复用的页面的零件,其实就是一个插件,只是在vue里叫组件 先看看别人的组件 vant element Mint iView 去试试上面的组件,都是有脚手架版和直接引入使用的版本 ...

  4. 027、Java中的转义字符

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

  5. 7.5 Varnish VCL的变量和应用片段

  6. wav文件与byte互转 C#

    //wav转byte public void WavToByte() { Byte[] bs; FileStream fs = new FileStream(@"C:\1.wav" ...

  7. CSU 1216 异或最大值

    求n个数里面,求两两异或的最大值 直接来肯定会超时 既然要异或最大值,那么两个数的二进制肯定是正好错开为好...为了能快速找到错开的数,确实有点难想到,用字典树,按二进制数插入,再一个一个在字典树里面 ...

  8. Asp.net禁用site.Mobile.Master

    RT,在asp.net新的项目中遇到的一个问题.项目使用了Boostrap后网页打开是正常的,但是换成移动端打开这个网页的时候就奇怪了.很多样式不见了.原来是自动切换到了site.Mobile.Mas ...

  9. Flink 操作链与任务槽

    Operator Chains(操作链) Flink出于分布式执行的目的,将operator的subtask链接在一起形成task(类似spark中的管道). 每个task在一个线程中执行. 将ope ...

  10. 小程序Promise

    /** 异步函数回调简化处理 const promisify = require('./promisify') const getSystemInfo = promisify(wx.getSystem ...