zoukankan      html  css  js  c++  java
  • 20210204日报

    对于数据库中的一些常识。SQLite 没有服务器进程,它通过文件保存数据,该文件是跨平台的,可以放在其他平台中使用。并且在保存数据时,支持null(零) 、integer (整数)、real (浮点数字) 、text (字符串文本)和blob(二进制对象)5种数据类型。但实际上SQLite也接收varchar(n)、 char(n)、decimal(p,s)等数据类型,只不过在运算或保存时会转换成对应的5种数据类型。因此,可以将各种类型的数据保存到任何字段中,而不用关心字段声明的数据类型

    SqliteOpenHelper的用法:
    该类的方法:
    1、getReadableDatabase() 创建或者打开一个可读写的数据库,如果出现问题(磁盘满等),则打开一个只读的数据库。

    2、getWritableDatabase() 获得一个可读写的数据库。如果磁盘满则会抛异常。

    3、onCreate(SQLiteDatabase db) 只有第一次创建这个数据库的时候调用。一般在这个方法中创建数据的相应表。

    4、onOpen(SQLiteDatabase db) 当每次打开数据库的时候都会调用。这个方法很少使用

    5、onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion) 当升级数据库即数据库的版本号发生改变的时候调用,一般如果需要修改表结构就写在这里.

    //db.execSQL(“alert 表名 add 列名列数据类型”);

    6、close()   关闭打开的所有数据库对象

    二、进行增加数据的相关操作是:

    通过getWritableDatabase()方 法得到SQLiteDatabase对象,然后获得ContentValues对象并将数据添加到ContentValues对象中,最后调用inser()方法将数据插入到person表中。

    insert()方法接收3个参数,第一个参数是数据表的名称,第二个参数表示如果发现将要插入的行为空行时,会将这个列名的值设为null,第三个参数为ContentValues对象。ContentValues类类似于Map类,通过键值对的形式存入数据,这里的key表示插入数据的列名,value 表示要插入的数据。

    需要注意的是,使用完SQLiteDatabase对象后定要调用close()方法关闭,否则数据库连接会一直存在,不断消耗内存,当系统内存不足时将获取不到SQLiteDatabase对象,并且会报出数据库未关闭异常。

    三、修改相应数据的注意事项

    通过SQLiteDatebase对象db调用update()方法用来修改数据库中的数据,update()方法接收4个参数,第一个参数表示表名,第二个参数接收一个ContentValues对象,第三个参数可选择where语句,第四个参数表示whereClause语句中的占位参数列表,这些字符串会替换掉where条件中的 " ? "。

    四、查询数据的先关操作是

    在进行数据查询时使用的是SQLiteDatabase的query0方法,该方法返回的是一个行数集合Cursor。 Cursor 是一个游标接口,提供了遍历查询结果的方法,如移动指针方法move(),获得列值方法getString()等,通过这些方法可以获取集合中的属性值以及序号等。

    需要注意的是,在使用完Cursor对象后,一定要及时关闭,否则会造成内存泄露。下面介绍如何使用SQLiteDatabase的query()方法查询数据,

  • 相关阅读:
    iOS 完整学习路线-(基本)
    iOS不要在任性的年纪 选择安逸
    swift晋级之路
    ios晋级之路-一些需要注意的地方
    ios晋级之路-tableView数据源方法详解
    ios晋级之路-URL Scheme使用和指南
    数据结构-链表C语言实现
    数据结构-链表插入节点
    ios晋级之路-本地存储
    html5晋级之路-bootstrap css代码
  • 原文地址:https://www.cnblogs.com/Clark-Shao/p/14881880.html
Copyright © 2011-2022 走看看