SQLite数据库_实现简单的增删改查
1.SQLite是一款轻量型的数据库是遵守ACID(原子性、一致性、隔离性、持久性)的关联式数据库管理系统,多用于嵌入式开发中。
2.Android平台中嵌入了一个关系型数据库SQLite,和其他数据库不同的是 SQLite存储数据时不区分类型
3.例如一个字段声明为Integer类型,我们也可以将一个字符串存入,一个字 段声明为布尔型,我们也可以存入浮点数
4.除非是主键被定义为Integer,这时只能存储64位整数,SQLite,无需安装 ,是Android平台自带的一个数据库。
下面让我们看一下对SQLite的实际运用:
第一布:继承SQLiteOpenHelper创建数据库和表
package com.example.help; import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper; public class Helper extends SQLiteOpenHelper { public Helper(Context context) {
super(context, "db.student", null, 1);
} @Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table student (_id integer primary key autoincrement,name vachar(20),sex vachar(3))");
} @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }
第二步:新建一个类实现对数据库的增删该查
package com.example.dao; import com.example.help.Helper; import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase; public class Dao {
private Helper helper;
private String sex;
public Dao(Context context) {
helper=new Helper(context);
}
public void add(String name,String sex){
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("insert into student(name,sex) values(?,?)",new Object[]{name,sex});
db.close();
}
public void delete(String name){
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("delete from student where name=?",new Object[]{name});
db.close();
}
public void update(String name,String newsex){
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("update student set sex=? where name=?",new Object[]{newsex,name});
db.close();
}
public String find(String name){
SQLiteDatabase db=helper.getReadableDatabase();
Cursor cursor = db.rawQuery("select sex from student where name=?", new String[]{name});
boolean next = cursor.moveToNext();
if(next){
sex = cursor.getString(0);
}
db.close();
cursor.close();
return sex; }
}
第三步:测试一下sql语句是否正确以及Java语言是否正确
package com.example.test; import com.example.dao.Dao; import android.test.AndroidTestCase;
import android.text.TextUtils; public class sqlTest extends AndroidTestCase { public void add(){
Dao dao = new Dao(getContext());
dao.add("张三", "男");
}
public void delete(){
Dao dao = new Dao(getContext());
dao.delete("张三");
}
public void update(){
Dao dao = new Dao(getContext());
dao.update( "张三","女");
}
public void find(){
Dao dao = new Dao(getContext());
String find = dao.find("张三");
if(TextUtils.isEmpty(find)){
System.out.println("没这人");
}else{
System.out.println(find);
}
}
}
但同时需要配置AndroidManifest.xml文件
同时测试类的操作如下:
SQLite数据库_实现简单的增删改查的更多相关文章
- 用CI框架向数据库中实现简单的增删改查
以下代码基于CodeIgniter_2.1.3版 用PHP向数据库中实现简单的增删改查(纯代码)请戳 http://www.cnblogs.com/corvoh/p/4641476.html Code ...
- nodejs链接mysql数据库,执行简单的增删改查操作
var mysql = require('mysql'); var conn = mysql.createConnection({ host: 'localhost', user: 'root', p ...
- redis数据库安装及简单的增删改查
redis下载地址:https://github.com/MSOpenTech/redis/releases. 解压之后,运行 redis-server.exe redis.windows.conf ...
- 用PHP向数据库中实现简单的增删改查(纯代码)
<?php $con = mysql_connect("localhost:3306","root",""); if (!$con) ...
- python操作三大主流数据库(2)python操作mysql②python对mysql进行简单的增删改查
python操作mysql②python对mysql进行简单的增删改查 1.设计mysql的数据库和表 id:新闻的唯一标示 title:新闻的标题 content:新闻的内容 created_at: ...
- 使用JDBC分别利用Statement和PreparedStatement来对MySQL数据库进行简单的增删改查以及SQL注入的原理
一.MySQL数据库的下载及安装 https://www.mysql.com/ 点击DOWNLOADS,拉到页面底部,找到MySQL Community(GPL)Downloads,点击 选择下图中的 ...
- python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作
1.通过 pip 安装 pymysql 进入 cmd 输入 pip install pymysql 回车等待安装完成: 安装完成后出现如图相关信息,表示安装成功. 2.测试连接 import ...
- SQLite 入门教程(四)增删改查,有讲究 (转)
转于: SQLite 入门教程(四)增删改查,有讲究 一.插入数据 INSERT INTO 表(列...) VALUES(值...) 根据前面几篇的内容,我们可以很轻送的创建一个数据表,并向其中插入一 ...
- Django框架之第二篇--app注册、静态文件配置、form表单提交、pycharm连接数据库、django使用mysql数据库、表字段的增删改查、表数据的增删改查
本节知识点大致为:静态文件配置.form表单提交数据后端如何获取.request方法.pycharm连接数据库,django使用mysql数据库.表字段的增删改查.表数据的增删改查 一.创建app,创 ...
随机推荐
- AVFoundation自定义录制视频
#import <AVFoundation/AVFoundation.h> #import <AssetsLibrary/AssetsLibrary.h> @interface ...
- a中的类型转换
自动类型转换 当然自动类型转换是需要满足特定的条件的: 1. 目标类型能与源类型兼容,如 double 型兼容 int 型,但是 char 型不能兼容 int 型. 2. 目标类型大于源类型,如 ...
- Jmeter函数引用和函数重定向
在jmeter中的[选项]中选择[函数助手对话框]---这些函数可以高速有效的帮助我们开展自动化编写与校验!!!!!! 如图: 重点!!!本章的侧重点不讲函数的具体使用,函数具体的使用与java类似, ...
- R处理大数据集
R会把所有的对象读存入虚拟内存中.对我们大多数用户来说,这种设计可以提高与R相互的速度,但是当分析大数据集时,这种设计会降低程序运行速度有时还会产生跟内存相关的错误. 内存限制主要取决于R的build ...
- 剑指offer:重建二叉树
重建二叉树的前置知识: 0.遍历二叉树: (1)前序遍历:根左右 --> 先访问根节点,再前序遍历左子树,最后前序遍历右子树: (2)中序遍历:左根右 --> 先中序遍历左子树,再访问根节 ...
- .dll 无法查找或者打开PDB文件
https://www.baidu.com/link?url=XBkzyMPU8bmyHSKAvBde6955fX2ecFJXfk8D44_VCuH_4U04E0bHFjk8D2_mXSqgjcUyQ ...
- iOS SnapKit自动布局使用详解
对于自动布局: 我们在 StoryBoard 中可以使用约束实现,简单明了,但如果用纯代码来设置约束就很麻烦了 OC里面,我们常用的有Masonry,SDAutoLayout Swift里,我们有Sn ...
- 性能测试平台效率优化的一次经验(python版)
在做性能测试平台的优化过程中,由于启动任务相对其他测试任务比较频繁,而目前30次两个包的交叉对比(30次)测试需要耗时30分钟整,因此打算优先对测试流程做一次优化,将测试时间消耗降低到20分钟. 由于 ...
- 在vs中打开cuda工程
以往都是在linux环境下使用cuda,编写cuda程序,因为一篇论文的源码要求用win系统+vs,首次在vs中打开.编译cuda工程,遇到一些阻碍,特此记录. 我的计算机环境是win10,cuda7 ...
- cuda编程学习4——Julia
书上的例子编译会有错误,修改一下行即可. __device__ cuComplex(float a,float b):r(a),i(b){} /* ========================== ...