Android 判断SQLite数据库中是否存在某一个表格: CREATE TABLE IF NOT EXISTS

来源(CSDN博客)

From: https://blog.csdn.net/haiross/article/details/41081485

Android 判断SQLite数据库中是否存在某一个表格: CREATE TABLE IF NOT EXISTS

转载 2014年11月13日 16:19:34 31527

初始化SQL脚本

安装软件时要初始化数据库,通常的需求是新建表、索引、视图、存储过程等对象,插入初始数据。Oracle没有drop table if exists或create table if not exists语法,所以需要自己处理。第一种情况:如果表存在,先删除再建立。begin for x in (select table_name from all_tables where owner=...

sqlite create table if not exists例子  谷歌


4). "IF NOT EXISTS"从句:

如果当前创建的数据表名已经存在,即与已经存在的表名、视图名和索引名冲突,那么本次创建操作将失败并报错。然而如果在创建表时加上"IF NOT EXISTS"从句,那么本次创建操作将不会有任何影响,即不会有错误抛出,除非当前的表名和某一索引名冲突。

sqlite> CREATE TABLE testtable (first_col integer);
Error: table testtable already exists
sqlite> CREATE TABLE IF NOT EXISTS testtable (first_col integer);


http://www.cnblogs.com/stephen-liu74/archive/2012/02/13/2321668.html

Android 判断SQLite数据库中是否存在某一个表格

2013-03-23 20:09:15| 分类: Sqlite |举报 |字号 订阅

有两种方法,

第一种方法是:不需要知道表是否存在,在创建表的时候加上if not exists 例:create table if not exists myTable(...) ,这样做的好处是,不需要知道表是否存在,只要每次都进行创建即可。因为里面有判断,如果表存在的时候,再执行这句不会发生重复创建表的情况。

第二种方法是:直接执行某个SQL语句,用try...catch来捕获数据库操作的异常。当异常表示数据库表不存在的时候,再进行处理。例:

try{
	Cursor c = getWritableDatabase().query("select * from myTable",null );
} catch(Exception e) // 或者是 SQLiteException .
{//添加处理代码,例如:创建表。
}

第二种的方法不如第一种好,原因是:第二种写起来比较麻烦,还有,如果有其它异常的时候,需要对异常来进行判别,并处理。

PS:

上面的E文中有一种方法是判断query的返回值,那个别想了,我在测试的时候,如果表被删除了,一到那里就崩溃,只能通过try...catch的方法。

http://ningtukun.blog.163.com/blog/static/18654144520132238915882/

Link: http://www.asm32.net/article_details.aspx?id=7297


浏览次数 0 发布时间 2018-04-15 00:40:03 从属分类 Android 安卓 【评论】【 】【打印】【关闭
 
| www.asm32.net | 2006版 | 资料中心 | linux | asm/asm32 | C/C++ | VC++ | java | Python | 书签 | ASP.Net书签 | 京ICP备09029108号-1