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,创 ...
随机推荐
- Strtus2 S2-045漏洞
S2-045漏洞已经爆发几天了,但还很多网址都存在此漏洞,很多金融类网站也收到了保护费通知...唉,收保护费少,报警无效!只能酌情处理了!做黑产的,还是少做为秒,常在河边站哪有不湿鞋,劝各位早日金盆洗 ...
- SQL server 数据库——表连接(多表横向连接,纵向连接)
表连接 1.select * from student,score --笛卡尔积 2.两个表的连接: 法1:select student.sno, sname, degree from student ...
- 关于百度地图js api的getCurrentPosition定位不准确的解决方法
很久之前帮大叔解决了一个gps坐标转换为百度地图坐标的问题.今天大叔又给我讲百度地图定位不准.我查了一下api,用了官方给出的这样一组函数. //创建查询对象 var geolocation = ne ...
- 控制语句 for while if switch
一.for…in 结构 for i in 0...4{ print(i) //使用到了变量 i } for _ in 0...1{ // 后期没有使用到变量,可以直接用个下划线 _ 占位就行 ...
- 深入理解java String 及intern
一.字符串问题 字符串在我们平时的编码工作中其实用的非常多,并且用起来也比较简单,所以很少有人对其做特别深入的研究.倒是面试或者笔试的时候,往往会涉及比较深入和难度大一点的问题.我在招聘的时候也偶尔会 ...
- 从客户端中检测到有潜在危险的 Request.Form或Requst.String的值。
在ASP中客户端请求服务时会出现"从客户端中检测到有潜在危险的 Request.Form或Requst.QueryString的值.",原因是在web.config配置文件中存在这 ...
- sqlplus入门使用
1.如果在PL/SQL 等工具里打开的话,直接修改下面的代码中[斜体加粗部分]执行 2.确保路径存在,比如[D:\oracle\oradata\Oracle9i\]也就是你要保存文件的路径存在 /*分 ...
- springmvc基础学习2---简单配置文件
1:web文件 2:spring-mvc.xml配置文件
- .NET中可空值类型实现原理
为了让.Net中的值类型可以赋值为null,微软特地添加了Nullable<T>类型,也可简写为T?.但是Nullable<T>自身是结构体,也是值类型,那么它是如何实现将nu ...
- IPhone 、Webkit手机浏览器Div滚动、滑动卡,遮罩层被穿透的解决办法
在滚动条的层上面加上-webkit-overflow-scrolling:touch;样式即可解决!