博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQLite数据库_实现简单的增删改查
阅读量:7100 次
发布时间:2019-06-28

本文共 3182 字,大约阅读时间需要 10 分钟。

1.SQLite是一款轻量型的数据库是遵守ACID(原子性、一致性、隔离性、持久性)的关联式数据库管理系统,多用于嵌入式开发中。

2.Android平台中嵌入了一个关系型数据库SQLite,和其他数据库不同的是 SQLite存储数据时不区分类型

3.例如一个字段声明为Integer类型,我们也可以将一个字符串存入,一个字 段声明为布尔型,我们也可以存入浮点数

4.除非是主键被定义为Integer,这时只能存储64位整数,SQLite,无需安装 ,是Android平台自带的一个数据库。

  下面让我们看一下对SQLite的实际运用:

  第一布:继承SQLiteOpenHelper创建数据库和表

1 package com.example.help; 2  3 import android.content.Context; 4 import android.database.sqlite.SQLiteDatabase; 5 import android.database.sqlite.SQLiteOpenHelper; 6  7 public class Helper extends SQLiteOpenHelper { 8  9     public Helper(Context context) {10         super(context, "db.student", null, 1);11     }12 13     @Override14     public void onCreate(SQLiteDatabase db) {15         db.execSQL("create table student (_id integer primary key autoincrement,name vachar(20),sex vachar(3))");16     }17 18     @Override19     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {20 21     }22 23 }

  第二步:新建一个类实现对数据库的增删该查

1 package com.example.dao; 2  3 import com.example.help.Helper; 4  5 import android.content.Context; 6 import android.database.Cursor; 7 import android.database.sqlite.SQLiteDatabase; 8  9 public class Dao {10     private Helper helper;11     private String sex;12     public Dao(Context context) {13         helper=new Helper(context);14     }15     public void add(String name,String sex){16         SQLiteDatabase db = helper.getWritableDatabase();17         db.execSQL("insert into student(name,sex) values(?,?)",new Object[]{name,sex});18         db.close();19     }20     public void delete(String name){21         SQLiteDatabase db = helper.getWritableDatabase();22         db.execSQL("delete from student where name=?",new Object[]{name});23         db.close();24     }25     public void update(String name,String newsex){26         SQLiteDatabase db = helper.getWritableDatabase();27         db.execSQL("update student set sex=? where name=?",new Object[]{newsex,name});28         db.close();29     }30     public String find(String name){31         SQLiteDatabase db=helper.getReadableDatabase();32         Cursor cursor = db.rawQuery("select sex from student where name=?", new String[]{name});33         boolean next = cursor.moveToNext();34         if(next){35             sex = cursor.getString(0);36         }37         db.close();38         cursor.close();39         return sex;40 41     }42 }

  第三步:测试一下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文件

  同时测试类的操作如下:

 

 

 

  

  

转载于:https://www.cnblogs.com/boket/p/6742554.html

你可能感兴趣的文章
WPF学习笔记-用Expression Design制作矢量图然后导出为XAML
查看>>
[裴礼文数学分析中的典型问题与方法习题参考解答]5.1.22
查看>>
锐捷上网认证常见问题及解决办法
查看>>
Eclipse+超快速的模拟器Genymotion开展Android申请书(第一步:安装和配置Genymotion)...
查看>>
MySQL查看一个表的创建文本以及删除表某列的索引
查看>>
BZOJ3009 : 集合
查看>>
android图片压缩的3种方法实例
查看>>
SVN(TortoiseSVN)提交时忽略bin跟obj目录
查看>>
tophat
查看>>
Codeforces Round #326 (Div. 2) A. Duff and Meat 水题
查看>>
Android屏幕适配全攻略(最权威的官方适配指导) (转)
查看>>
AutoMapper(七)
查看>>
内存数据库:memcached与redis技术的对比试验
查看>>
仿58同城UITableViewCell动画
查看>>
android service 的各种用法(IPC、AIDL)
查看>>
MongoDB聚合运算之mapReduce函数的使用(11)
查看>>
Android 屏蔽Power键 Home键
查看>>
python之装饰器
查看>>
泛型的基本介绍和使用
查看>>
新书《iOS8 Swift编程指南》货架
查看>>