andorid 中sqlite判断表或视图是否存在

public class DataBaseHelper extends SQLiteOpenHelper{


private static final int VERSION = 1;


// 在SQLiteOpenHelper的子类当中,必须有该构造函数
// content为activity对象
// name 为表名称
// version 为数据库的版本,必须为正数
public DataBaseHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
}
public DataBaseHelper(Context context, String name) {
this(context, name, VERSION);
}


public DataBaseHelper(Context context, String name, int version) {
this(context, name, null, version);


}


@Override
public void onCreate(SQLiteDatabase arg0) {
// TODO Auto-generated method stub

}


@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
// TODO Auto-generated method stub

}
/**
* 判断某张表是否存在

* @param tabName
*            表名
* @return
*/
public boolean IsExistTable(String TableName) {
boolean result = false;
if (TableName == null) {
return false;
}
SQLiteDatabase db = null;
Cursor cursor = null;
try {
db = this.getReadableDatabase();


String sql = "select count(*) as c from Sqlite_master  where type ='table' and name ='"
+ TableName.trim() + "' ";


cursor = db.rawQuery(sql, null);


if (cursor.moveToNext()) {


int count = cursor.getInt(0);


if (count > 0) {
result = true;
}
}


} catch (Exception e) {


}finally{
closeCursor(cursor);
db.close();
}

//System.out.println("表是否存在---"+result);
return result;
}


/**
* 判断视图是否已存在
* @param viewName 视图的名字
* @return
* @author JL
* @create 2011-5-20
*/
public boolean IsExistView(String viewName) {
boolean result = false;
if (viewName == null) {
return false;
}
SQLiteDatabase db = null;
Cursor cursor = null;
try {
db = this.getReadableDatabase();


String sql = "select count(*) as c from Sqlite_master  where type ='view' and name ='"
+ viewName.trim() + "' ";


cursor = db.rawQuery(sql, null);


if (cursor.moveToNext()) {


int count = cursor.getInt(0);


if (count > 0) {
result = true;
}
}


} catch (Exception e) {
e.printStackTrace();
}finally{
closeCursor(cursor);
db.close();
}
return result;
}

protected void closeCursor(Cursor cursor) {
        if (cursor != null) {
            cursor.close();
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值