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

初始化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/

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值