zoukankan      html  css  js  c++  java
  • SQLite数据库_实现简单的增删改查

    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     @Override
    14     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     @Override
    19     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文件

      同时测试类的操作如下:

      

      

  • 相关阅读:
    Spring4+SpringMVC+MyBatis登录注册详细
    Spring MVC登录注册以及转换json数据
    MyBatis+mysql查询和添加数据
    html5中的选择器
    倒影(转)
    bi包
    函数作用域
    节点开始
    window.onload中失效的问题
    Node.js简介
  • 原文地址:https://www.cnblogs.com/boket/p/6742554.html
Copyright © 2011-2022 走看看