通过Android的API对Sqlite数据库进行操作
一、增删改查
增

改

查

删
这是删除之前


删除三条

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数据库进行操作的更多相关文章
- android开发之使用SQLite数据库存储
http://blog.csdn.net/jason0539/article/details/16360835 SQLite 介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且 ...
- 在Android 开发中使用 SQLite 数据库笔记
SQLite 介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PH ...
- Android虚拟机中的sqlite数据库文件
Android虚拟机中的sqlite数据库文件 ①
- android:Android中用文件初始化sqlite数据库(zz)
很多时候在应用安装初始化时,需要创建本地数据库,同时为数据库添加数据,之后再从数据库中读取数据. 这里有2个思路 1.先在本地创建一个能支持android使用的sqlite数据库文件,启动时, ...
- 通过adb shell操作android真机的SQLite数据库
要通过命令行直接操作android真机上的SQLite数据库,可以直接通过adb shell来完成,不过,前提是必须获得root权限. 另外,android系统其实就是linux的shell,这个应该 ...
- Android 查看和管理sqlite数据库
在Android中可以使用Eclipse插件DDMS来查看,也可以使用Android工具包中的adb工具来查看.android项目中的sqlite数据库位于/data/data/项目包/databas ...
- android:Android中用文件初始化sqlite数据库
很多时候在应用安装初始化时,需要创建本地数据库,同时为数据库添加数据,之后再从数据库中读取数据. 这里有2个思路 1.先在本地创建一个能支持android使用的sqlite数据库文件,启动时,用现成的 ...
- Android数据存储之SQLite数据库
Android数据存储 之SQLite数据库简介 SQLite的相关知识,并结合Java实现对SQLite数据库的操作. SQLite是D.Richard Hipp用C语言编写的开源嵌入式数据库引擎. ...
- 从C#到Objective-C,循序渐进学习苹果开发(7)--使用FMDB对Sqlite数据库进行操作
本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验.本篇主要开始介绍基于XCod ...
随机推荐
- 主机ping虚拟机失败。虚拟机ping主机,可以ping通。
原文:https://blog.csdn.net/ww1473345713/article/details/51490525 今天打开虚拟机,然后用Xshell远程连接,发现连接不上.按照以下顺序检查 ...
- MongoDB首次启动常见问题
问题1. exception in initandlisten 29 data directory /data/db not found 问题:MongoDB默认存储路径为/data/db,这里显示没 ...
- 4.RabbitMQ 4种交换模式
请看 demo https://github.com/kevin-li-06/eshop.git
- spring core:@AliasFor的派生性
spring对Annotation的派生性应用可谓炉火纯青,在spring core:@Component的派生性讲过支持层次上派生性,而属性上派生的需求则借助了@AliasFor,它是从spring ...
- 0103-springmvc的基本流程
背景 现在的it研发,已经从管理系统时代迈入了互联网系统时代. 页面开发已经从基于JSP+struts转变为为前后端分离的方式(springMVC + JS): 思想 MVC mvc框架不仅适用于ja ...
- 【剑指Offer】面试题32 - I. 从上到下打印二叉树
题目 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印. 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回: [3 ...
- FC 与 FB 与 OB 的区别,时间标记冲突与一致性检查 有详细的步骤
关键字1 组织块的程序是由用户自己编写. 关键字2 时间标记冲突与一致性检查 有详细的步骤. 关键字3 FC 与 FB 与 OB 的区别? (一)功能 功能块 区别 ? FB 和FC均为 用户编写 ...
- Vulkan SDK之Vertex Buffer
A vertex buffer is a CPU-visible and GPU-visible buffer that contains the vertex data that describes ...
- 地图js及json包
echarts github上的地图js及json包:https://github.com/apache/incubator-echarts/tree/master/map 上面链接没有县及的地图js ...
- 常用Java工具类
一. org.apache.commons.io.IOUtils closeQuietly:关闭一个IO流.socket.或者selector且不抛出异常,通常放在finally块 toString: ...