通过Android的API对Sqlite数据库进行操作

一、增删改查

通过Android的API对Sqlite数据库进行操作_第1张图片

 

 改

通过Android的API对Sqlite数据库进行操作_第2张图片

 

 查

 

 删

这是删除之前

通过Android的API对Sqlite数据库进行操作_第3张图片

 

 

 

 删除三条

通过Android的API对Sqlite数据库进行操作_第4张图片

 

 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数据库进行操作)