zoukankan      html  css  js  c++  java
  • 通过Android的API对Sqlite数据库进行操作

    一、增删改查

     改

     查

     删

    这是删除之前

     删除三条

     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、高效性

    可以在短时间内将大量数据先写入内存,然后一次写入数据库。

  • 相关阅读:
    C#=>递归反转栈
    C#=> 栈模仿堆的操作
    C# 栈=>随时读取栈中最小值
    vijos1574 摇钱树
    (二叉)堆
    分块大法好
    list
    动态规划——状压、树形
    区间动规平行四边形优化
    最长公共子序列(LCS)
  • 原文地址:https://www.cnblogs.com/yeyueweiliang/p/12266657.html
Copyright © 2011-2022 走看看