zoukankan      html  css  js  c++  java
  • android中sqlite数据库的基本使用和添加多张表

    看了很多关于android使用sqlite数据库的文章,很多都是介绍了数据库的建立和表的建立,而表通常都是只建立一张,而实际情况我们用到的表可能不止一张,那这种情况下我们又该怎么办呢,好了,下面我教大家如何在sqlite数据库中建立多张表。

    首先是如何建立数据库和表:

    建立一个类继承SQLiteOpenHelper,即:

    public class ReaderOpenHelper extends SQLiteOpenHelper

    然后添加构造方法:

    public ReaderOpenHelper(Context context) {
            
            super(context, "people.db", null, 1);
            
        }

    people.db是数据库名字,1是数据库版本。

    然后在该类实现以下两个方法:

    复制代码
    @Override
        public void onCreate(SQLiteDatabase db) {
            // TODO Auto-generated method stub
         db.execSQL("create table readers(renumber integer primary key,rename text,retype text,reage text,rephone text,usename integer,password integer,createtime text)");
         db.execSQL("create table books(booknumber integer primary key,bookname text,booktype text,bookeditor text,intime text,incounts integer)");
        }
    复制代码

    db.execSQL的作用是执行SQL语句,create table readers是创建一个叫readers的表,括号里就是各个字段名和值类型。

    这里创建了两张表。另一张叫books

    继续实现:

    复制代码
    @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            // TODO Auto-generated method stub
            db.execSQL("drop if table exists readers");
            db.execSQL("drop if table exists  books");
            onCreate(db);
        }
    复制代码

    执行Sql语句"drop if table exists 表名"

    这样你的sqlite数据库和两张表就创建完成了。

    接下来再建一个数据库manager类,如:

    public class ReaderManager 

    添加一个构造方法

    public ReaderManager(Context conetxt) {
            this.context = context;
            readerOpenHelper = new ReaderOpenHelper(conetxt);
        }

    然后添加表的操作方法:

    复制代码
    package com.zhou.db;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import com.zhou.utils.Books;
    import com.zhou.utils.Reader;
    
    import android.content.ContentValues;
    import android.content.Context;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.util.Log;
    
    public class ReaderManager {
        ReaderOpenHelper readerOpenHelper;
        Context context;
    
        public ReaderManager(Context conetxt) {
            this.context = context;
            readerOpenHelper = new ReaderOpenHelper(conetxt);
        }
    
        // 增加读者
        public void addSQL(Reader reader) {
            SQLiteDatabase db = null;
            try {
                db = readerOpenHelper.getWritableDatabase();
                ContentValues values = new ContentValues();
                values.put("renumber", reader.getReNumber());
                values.put("rename", reader.getName());
                values.put("retype", reader.getSex());
                values.put("reage", reader.getAge());
                values.put("rephone", reader.getPhoneNumber());
                values.put("createtime", reader.getCreateTime());
                values.put("usename", reader.getUseName());
                values.put("password", reader.getPassword());
                db.insert("readers", null, values);
            } catch (Exception e) {
                // TODO: handle exception
            } finally {
                db.close();
            }
        }
    
        // 增加图书
        public void bookAddSQL(Books book) {
            SQLiteDatabase db = null;
            try {
                db = readerOpenHelper.getWritableDatabase();
                ContentValues values = new ContentValues();
                values.put("booknumber", book.getBookNumber());
                values.put("bookname", book.getBookName());
                values.put("booktype", book.getBookType());
                values.put("bookeditor", book.getBookEditer());
                values.put("intime", book.getInTime());
                values.put("incounts", book.getCount());
                db.insert("books", null, values);
            } catch (Exception e) {
                // TODO: handle exception
            } finally {
                db.close();
            }
        }
    
        // 读者查询
        public List<Reader> selectSQL() {
            List<Reader> list = new ArrayList<Reader>();
            SQLiteDatabase db = null;
            // 获取一个光标对象
            Cursor cursor = null;
            try {
                db = readerOpenHelper.getReadableDatabase();
                cursor = db.query("readers", null, null, null, null, null, null);
                Reader reader = null;
                while (cursor.moveToNext()) {
                    reader = new Reader();
                    reader.setReNumber(cursor.getInt(cursor
                            .getColumnIndex("renumber")));
    
                    reader.setName(cursor.getString(cursor.getColumnIndex("rename")));
                    reader.setSex(cursor.getString(cursor.getColumnIndex("retype")));
                    reader.setAge(cursor.getString(cursor.getColumnIndex("reage")));
                    reader.setPhoneNumber(cursor.getString(cursor
                            .getColumnIndex("rephone")));
                    reader.setCreateTime(cursor.getString(cursor
                            .getColumnIndex("createtime")));
                    reader.setUseName(cursor.getInt(cursor
                            .getColumnIndex("usename")));
                    reader.setPassword(cursor.getInt(cursor
                            .getColumnIndex("password")));
                    list.add(reader);
                }
            } catch (Exception e) {
                // TODO: handle exception
            } finally {
                cursor.close();
                db.close();
            }
    
            return list;
        }
    
        // 图书查询
        public List<Books> bookSelectSQL() {
            List<Books> list = new ArrayList<Books>();
            SQLiteDatabase db = null;
            // 获取一个光标对象
            Cursor cursor = null;
            try {
                db = readerOpenHelper.getReadableDatabase();
                cursor = db.query("books", null, null, null, null, null, null);
                Books book = null;
                while (cursor.moveToNext()) {
                    book = new Books();
                    book.setBookNumber(cursor.getInt(cursor
                            .getColumnIndex("booknumber")));
                    book.setBookName(cursor.getString(cursor
                            .getColumnIndex("bookname")));
                    book.setBookType(cursor.getString(cursor
                            .getColumnIndex("booktype")));
                    book.setBookEditer(cursor.getString(cursor
                            .getColumnIndex("bookeditor")));
                    book.setInTime(cursor.getString(cursor.getColumnIndex("intime")));
                    book.setCount(cursor.getInt(cursor.getColumnIndex("incounts")));
                    Log.d("TAGG", cursor.getString(cursor.getColumnIndex("intime")));
                    list.add(book);
                }
            } catch (Exception e) {
                // TODO: handle exception
            } finally {
                cursor.close();
                db.close();
            }
    
            return list;
        }
    
        // 读者删除
        public void deleteSQL(final long id) {
            SQLiteDatabase db = null;
            try {
                db = readerOpenHelper.getWritableDatabase();
                db.delete("readers", "renumber=" + id, null);
            } catch (Exception e) {
    
            } finally {
                db.close();
            }
        }
    
        // 读者更新
    
        public void updateData(int id, String name, String sex, String age,
                String phoneNumber, int password) {
    
            SQLiteDatabase db = null;
            try {
                db = readerOpenHelper.getWritableDatabase();
                ContentValues values = new ContentValues();
                values.put("rename", name);
                values.put("retype", sex);
                values.put("reage", age);
                values.put("rephone", phoneNumber);
                values.put("password", password);
                db.update("readers", values, "renumber=" + id, null);
            } catch (Exception e) {
                // TODO: handle exception
            } finally {
                db.close();
            }
    
        }
    
        // public long getCount() {
        //
        // Cursor cursor = null;
        // long count = 0;
        // SQLiteDatabase db = null;
        // try {
        // db = readerOpenHelper.getWritableDatabase();
        // cursor = db.query("readers", null, null, null, null, null, null);
        //
        // if (null != cursor) {
        // count = cursor.getCount();
        // cursor.close();
        // }
        // } catch (Exception e) {
        // } finally {
        // db.close();
        // }
        // return count;
        // }
    
    }
  • 相关阅读:
    Step by step Dynamics CRM 2013安装
    SQL Server 2012 Managed Service Account
    Step by step SQL Server 2012的安装
    Step by step 活动目录中添加一个子域
    Step by step 如何创建一个新森林
    向活动目录中添加一个子域
    活动目录的信任关系
    RAID 概述
    DNS 正向查找与反向查找
    Microsoft Dynamics CRM 2013 and 2011 Update Rollups and Service Packs
  • 原文地址:https://www.cnblogs.com/dogdogwang/p/10988922.html
Copyright © 2011-2022 走看看