一、增删改查

这是删除之前

删除三条

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. 10. Regular Expression Matching正则表达式匹配

    Implement regular expression matching with support for '.' and '*'. '.' Matches any single character ...

  2. 循环的N种写法

    protype,json都算进去 先总结一下 伪数组的循环方式有,for,for-of 数组的循环方式有for,forEach,map,filter,find,some,every,reduce,fo ...

  3. Spark 资料整理

    http://jerryshao.me/architecture/2013/10/08/spark-storage-module-analysis/ http://blog.csdn.net/aliv ...

  4. 基于Hadoop3.1.2集群的Hive3.1.2安装(有不少坑)

    前置条件: 已经安装好了带有HDFS, MapReduce, Yarn 功能的 Hadoop集群 链接: ubuntu18.04.2 hadoop3.1.2+zookeeper3.5.5高可用完全分布 ...

  5. 原生searchView 自定义样式

    https://www.jianshu.com/p/f1fe616d630d 去除搜索框中的图标 <style name="SeachViewActivityTheme" p ...

  6. 51nod 1206:Picture 求覆盖周长

    1206 Picture 题目来源: IOI 1998 基准时间限制:2 秒 空间限制:131072 KB 分值: 160 难度:6级算法题  收藏  关注 给出平面上的N个矩形(矩形的边平行于X轴和 ...

  7. node - 获取 token

     String(req.headers.authorization || '').split(' ').pop() 

  8. python 鞍点

    # 鞍点: 所在行的最大值,所在列的最小值 import random A = [[random.randint(1,100) for j in range(5)]for i in range(5)] ...

  9. 公司网络能ping通ip,不能ping域名

    第一天去公司,就因为网络问题弄了大半天.只能ping通ip,不能ping域名.网上查了各种方式都不行,刷新dns缓存.说是什么域名解析问题.dns的问题.公司里好几个人都看了看不能解决.领导让重装系统 ...

  10. namenode节点无法自动切换主从

    当停掉主namenode节点,从节点无法切换到active状态,有两种可能导致这种问题 1.查看namenode上的zkfc日志,发现没有fuser命令,需要手动安装 yum install -y p ...