zoukankan      html  css  js  c++  java
  • SQLite数据库浅谈

    1.编写类继承SQLitHelper;

    public class SQLiteHelper extends SQLiteOpenHelper {
    }

    2.实现其构造函数;

        public SQLiteHelper(Context context){
            this(context, TABLE_NAME, null, DB_VERSION);
        }
        
        public SQLiteHelper(Context context, String name, CursorFactory factory,
                int version) {
            super(context, TABLE_NAME, factory, DB_VERSION);
        
        }

    3.定义数据库的名称、表名、版本以及表的所有列明

        private static final String DB_NAME = "playerdatas";//数据库名称
        private static final String TABLE_NAME = "datas";//表名
        private static final int DB_VERSION = 1;//数据库版本
        //表的列名
        private static final String TABLE_ID = "_ID"; 
        private static final String TABLE_VIDEOID = "videoId";
        private static final String TABLE_URL = "url";
        private static final String TABLE_TITLE = "title";
        private static final String TABLE_CONTENT = "content";
        private static final String TABLE_ACTORS = "actors";
        private static final String TABLE_DIRECTOR = "director";
        private static final String TABLE_TYPE = "type";
        private static final String TABLE_ICON = "icon";

    4.实现onCreate方法,编写SQL语句,创建表

        @Override
        public void onCreate(SQLiteDatabase db) {
            this.db = db;
            StringBuilder builder = new StringBuilder();
    
            builder.append("create table if not exists ");
            builder.append(TABLE_NAME);
            builder.append("(");
            builder.append(TABLE_ID).append(" Integer primary key autoincrement, ");
            builder.append(TABLE_VIDEOID).append(" Integer, ");
            builder.append(TABLE_ICON).append(" Integer, ");
            builder.append(TABLE_URL).append(" varchar(50), ");
            builder.append(TABLE_TITLE).append(" varchar(30), ");
            builder.append(TABLE_CONTENT).append(" varchar(50) ");
            builder.append(" ) ");
            
            db.execSQL(builder.toString());
        }

    5 实现onUpgrade方法,当版本升级时调用

        /**
         * 版本更新
         */
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            db.execSQL(" DROP TABLE IF EXISTS " + TABLE_NAME );
            onCreate(db);
    
        }

    6.编写查询、删除、更新等操作方法。

    /**
         * 查询所有数据
         * @return
         */
        public Cursor query(){
            SQLiteDatabase db = getReadableDatabase();
            //获取Corsor
            Cursor c = db.query(TABLE_NAME, null, null, null, null, null, null);
            return c;
            
        }
        /**
         * 根据id查找数据
         * @param id
         * @return
         */
        public Cursor queryById(int videoId){
            SQLiteDatabase db = getReadableDatabase();
            Cursor c = db.query(TABLE_NAME, new String[]{TABLE_VIDEOID}, "videoId=?", 
                    new String[]{String.valueOf(videoId)}, null, null, null);
            return c;
        }
        
        /**
         * 根据唯一标识_ID  来删除数据  
         * @param id
         */
        public void delete(int id){
            SQLiteDatabase db = getWritableDatabase();
            System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>"+db);
            db.delete(TABLE_NAME, "_ID=?", new String[]{String.valueOf(id)});
    
        }
        /**
         * 插入方法
         * @param values插入值
         */
        public void insert(ContentValues values){
            SQLiteDatabase db = getWritableDatabase();
            db.insert(TABLE_NAME, null, values);
            db.close();
        }

    7.关闭数据库的方法

        /**
         * 关闭数据库
         */
        public void close(){
            if(db != null){
                db.close();
            }
        }
  • 相关阅读:
    Data Structure Binary Tree: Populate Inorder Successor for all nodes
    Data Structure Binary Tree: Connect nodes at same level using constant extra space
    Data Structure Binary Tree: Check if a given Binary Tree is SumTree
    Data Structure Binary Tree: Construct Tree from given Inorder and Preorder traversals
    Data Structure Binary Tree: Inorder Tree Traversal without recursion and without stack!
    Data Structure Binary Tree: Inorder Tree Traversal without Recursion
    Data Structure Binary Tree: How to determine if a binary tree is height-balanced?
    Data Structure Binary Tree: Diameter of a Binary Tree
    Data Structure Binary Tree: Convert an arbitrary Binary Tree to a tree that holds Children Sum Property
    【阿里云产品公测】OpenSearch初体验
  • 原文地址:https://www.cnblogs.com/wei1228565493/p/4424308.html
Copyright © 2011-2022 走看看