public boolean tabIsExist(String tabName){
boolean result = false;
if(tabName == null){
return false;
}
Cursor cursor = null;
try {
String sql = "select count(*) as c from sqlite_master where type ='table' and name ='"+tabName.trim()+"' ";
cursor = dbInfo.rawQuery(sql, null);
if(cursor.moveToNext()){
int count = cursor.getInt(0);
if(count>0){
result = true;
}
}
} catch (Exception e) {
// TODO: handle exception
}
return result;
}
对sqlite_master表查询不但可以得到建表的sql语句,还可以获取该数据库内的trigger信息
而在纯Java环境下对SQL数据库查询是否目标表格存在的时候可以更简单:
java.sql.Connection con = getYourConnection();
ResultSet rs = con.getMetaData().getTables(null, null, "yourTable", null );
if (rs.next()) {
//yourTable exist
}else {
//yourTable not exist
}