SQLite高级:一库建多表,封装类
package eoe.database; import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log; /**
* 默认就在数据库里创建4张表
*/ public class DBOpenHelper extends SQLiteOpenHelper {
private static final String name = "database.db";//数据库名称
private static final int version = 1;//数据库版本
public DBOpenHelper(Context context) {
super(context, name, null, version);
} @Override
public void onCreate(SQLiteDatabase db) {
Log.e("DBOpenHelper", "DBOpenHelperDBOpenHelperDBOpenHelperDBOpenHelper"); db.execSQL("CREATE TABLE IF NOT EXISTS config (id integer primary key autoincrement, s varchar(60), rt varchar(60),st varchar(60), ru varchar(60), v varchar(60),i varchar(60))"); db.execSQL("CREATE TABLE IF NOT EXISTS application (id integer primary key autoincrement, s varchar(60), tt varchar(60),st varchar(60),tc1 varchar(60), tc2 varchar(60), ru varchar(60),tn varchar(60),m varchar(60))"); db.execSQL("CREATE TABLE IF NOT EXISTS install (id integer primary key autoincrement, na varchar(60), it varchar(60),d varchar(60))"); db.execSQL("CREATE TABLE IF NOT EXISTS smslist (id integer primary key autoincrement, t varchar(60), st varchar(60),n1 varchar(60),n2 varchar(60),n varchar(60),m varchar(60),a varchar(60))");
} @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.e("DBOpenHelper", "onUpgradeonUpgradeonUpgradeonUpgrade");
db.execSQL("DROP TABLE IF EXISTS config");
db.execSQL("DROP TABLE IF EXISTS application");
db.execSQL("DROP TABLE IF EXISTS install");
db.execSQL("DROP TABLE IF EXISTS smslist");
onCreate(db);
}
}
自定义数据库服务封装类:
package eoe.database; import android.content.Context;
import android.database.Cursor;
import com.yangguangfu.bean.ApplicationInfo;
import com.yangguangfu.bean.ConfigInfo;
import com.yangguangfu.bean.InstallInfo;
import com.yangguangfu.bean.SMSInfo; /**
* 数据库方法封装,创建表,删除表,数据(增删该查)...
*/
public class DatabaseService {
private DBOpenHelper dbOpenHelper;
public DatabaseService(Context context) {
dbOpenHelper = new DBOpenHelper(context);
} public void dropTable(String taleName) {
dbOpenHelper.getWritableDatabase().execSQL("DROP TABLE IF EXISTS " + taleName);
} public void closeDatabase(String DatabaseName) {
dbOpenHelper.getWritableDatabase().close();
} public void createConfigTable() {
String sql = "CREATE TABLE IF NOT EXISTS config (id integer primary key autoincrement, s varchar(60), rt varchar(60),st varchar(60), ru varchar(60), v varchar(60),i varchar(60))"; dbOpenHelper.getWritableDatabase().execSQL(sql);
} public void createTableApplication() {
String sql = "CREATE TABLE IF NOT EXISTS application (id integer primary key autoincrement, s varchar(60), tt varchar(60),st varchar(60),tc1 varchar(60), tc2 varchar(60), ru varchar(60),tn varchar(60),m varchar(60))"; dbOpenHelper.getWritableDatabase().execSQL(sql);
} public void createTableInstall() {
String sql = "CREATE TABLE IF NOT EXISTS install (id integer primary key autoincrement, na varchar(60), it varchar(60),d varchar(60))"; dbOpenHelper.getWritableDatabase().execSQL(sql);
} public void createTableSmslist() {
String sql = "CREATE TABLE IF NOT EXISTS smslist (id integer primary key autoincrement, t varchar(60), st varchar(60),n1 varchar(60),n2 varchar(60),n varchar(60),m varchar(60),a varchar(60))"; dbOpenHelper.getWritableDatabase().execSQL(sql);
} public void saveConfigInfo(ConfigInfo configInfo) { dbOpenHelper.getWritableDatabase().execSQL("insert into config (s, rt, st, ru, v,i) values(?,?,?,?,?,?)",new Object[] { configInfo.getS(), configInfo.getRt(),configInfo.getSt(), configInfo.getRu(),configInfo.getV(), configInfo.getI() });
} public void saveApplicationInfo(ApplicationInfo configInfo) {
dbOpenHelper.getWritableDatabase().execSQL("insert into application (s,tt,tc1,tc2,ru,tn,m) values(?,?,?,?,?,?,?)",new Object[] { configInfo.getS(), configInfo.getTt(),configInfo.getTc1(), configInfo.getTc2(),configInfo.getRu(), configInfo.getTn(),configInfo.getM() });
} public void saveMsmInfo(SMSInfo configInfo) { dbOpenHelper.getWritableDatabase().execSQL("insert into smslist (t,st,n1,n2,n,m,a) values(?,?,?,?,?,?,?)",new Object[] { configInfo.getT(), configInfo.getSt(),configInfo.getN1(), configInfo.getN2(),configInfo.getN(), configInfo.getM(),configInfo.getA() });
} public void saveInstallInfo(InstallInfo configInfo) { dbOpenHelper.getWritableDatabase().execSQL("insert into install (na,it,d) values(?,?,?)",new Object[] { configInfo.getNa(), configInfo.getIt(),configInfo.getD() });} public void updateConfigInfo(ConfigInfo configInfo) { dbOpenHelper.getWritableDatabase().execSQL("update config set s=?, rt=?, st=?, ru=?, v=?,i=? where id=?",new Object[] { configInfo.getS(), configInfo.getRt(),configInfo.getSt(), configInfo.getRu(),configInfo.getV(), configInfo.getI(),configInfo.getId() });
} public void updateApplicationInfo(ApplicationInfo configInfo) { dbOpenHelper.getWritableDatabase().execSQL("update application set s=?, tt=?, st=?, tc1=?, tc2=?,ru=?,tn=?,m=? where id=?",new Object[] { configInfo.getS(), configInfo.getTt(),configInfo.getSt(), configInfo.getTc1(),configInfo.getTc2(), configInfo.getRu(),
configInfo.getTn(),configInfo.getM(), configInfo.getId() }); } public void updateInstallInfo(InstallInfo configInfo) { dbOpenHelper.getWritableDatabase().execSQL("update install set na=?, it=?, d=? where id=?",
new Object[] { configInfo.getNa(), configInfo.getIt(),configInfo.getD(), configInfo.getId() });
} public void updateSMSInfo(SMSInfo configInfo) { dbOpenHelper.getWritableDatabase()
.execSQL("update smslist set t=?, st=?, n1=?, n2=?, n=?, m=?, a=? where id=?",new Object[] { configInfo.getT(), configInfo.getSt(),configInfo.getN1(), configInfo.getN2(),configInfo.getN(), configInfo.getM(),configInfo.getA(), configInfo.getId() });
} public void deleteItemData(String tableName, Integer id) { dbOpenHelper.getWritableDatabase().execSQL("delete from " + tableName + " where id=?",new Object[] { id }); } public InstallInfo findInstallInfo(Integer id) { Cursor cursor = dbOpenHelper.getWritableDatabase().rawQuery("select id,na,it,d from install where id=?",new String[] { String.valueOf(id) }); if (cursor.moveToNext()) {
InstallInfo configInfo = new InstallInfo();
configInfo.setId((cursor.getInt(0)));
configInfo.setNa(cursor.getString(1));
configInfo.setIt(cursor.getString(2));
configInfo.setD(cursor.getString(3));
return configInfo; }
return null;
} public ConfigInfo findConfigInfo(Integer id) { Cursor cursor = dbOpenHelper.getWritableDatabase().rawQuery("select id,s,rt,st,ru,v,i from config where id=?",new String[] { String.valueOf(id) }); if (cursor.moveToNext()) {
ConfigInfo configInfo = new ConfigInfo();
configInfo.setId((cursor.getInt(0)));
configInfo.setS(cursor.getString(1));
configInfo.setRt(cursor.getString(2));
configInfo.setSt(cursor.getString(3));
configInfo.setRu(cursor.getString(4));
configInfo.setV(cursor.getString(5));
configInfo.setI(cursor.getString(6));
return configInfo;
}
return null;
} public SMSInfo findSMSInfo(Integer id) {
Cursor cursor = dbOpenHelper.getWritableDatabase().rawQuery("select id,t,st,n1,n2,n,m,a from smslist where id=?",new String[] { String.valueOf(id) }); if (cursor.moveToNext()) {
SMSInfo configInfo = new SMSInfo();
configInfo.setId((cursor.getInt(0)));
configInfo.setT(cursor.getString(1));
configInfo.setSt(cursor.getString(2));
configInfo.setN1(cursor.getString(3));
configInfo.setN2(cursor.getString(4));
configInfo.setN(cursor.getString(5));
configInfo.setM(cursor.getString(6));
configInfo.setA(cursor.getString(7));
return configInfo;
}
return null;
} public ApplicationInfo findApplication(Integer id) {
Cursor cursor = dbOpenHelper.getWritableDatabase().rawQuery("select id,s,tt,st,tc1,tc2,ru,tn,m from application where id=?",new String[] { String.valueOf(id) }); if (cursor.moveToNext()) {
ApplicationInfo applicationinfo = new ApplicationInfo();
applicationinfo.setId((cursor.getInt(0)));
applicationinfo.setS(cursor.getString(1));
applicationinfo.setTt(cursor.getString(2));
applicationinfo.setSt(cursor.getString(3));
applicationinfo.setTc1(cursor.getString(4));
applicationinfo.setTc2(cursor.getString(5));
applicationinfo.setRu(cursor.getString(6));
applicationinfo.setTn(cursor.getString(7));
applicationinfo.setM(cursor.getString(8));
return applicationinfo;
}
return null;
} public long getDataCount(String tableName) {
Cursor cursor = dbOpenHelper.getReadableDatabase().rawQuery("select count(*) from " + tableName, null);
cursor.moveToFirst();
return cursor.getLong(0);
} public void close() {
dbOpenHelper.close();
} }
SQLite高级:一库建多表,封装类的更多相关文章
- 一、Sql Server 基础培训《进度1-建库建数据表(实际操作)》
知识点: 1.建数据库示例参考 --创建一个数据库名为‘dbtest’ create database dbtest go --打开数据库 dbtest use dbtest go 2.建表示例参考 ...
- MySQL建库建表
一直使用SQL SERVER 数据库:最近项目使用MY SQL感觉还是有一点不适应.不过熟悉之后就会好很多. MY SQL 安装之后会有一个管理工具MySQL Workbench 感觉不太好用,数据库 ...
- php源码建博客5--建库建表-配置文件-错误日志
主要: 整理框架 建库建表 配置文件类 错误日志记录 --------------本篇后文件结构:-------------------------------------- blog ├─App │ ...
- 【ITOO 2】.NET 动态建库建表:使用SQL字符串拼接方式
导读:在最近接手的项目(高效云平台)中,有一个需求是要当企业用户注册时,给其动态的新建一个库和表.刚开始接手的时候,是一点头绪都没有,然后查了一些资料,也问了问上一版本的师哥师姐,终于有了点头绪.目前 ...
- 【ITOO 3】.NET 动态建库建表:实用EF框架提供的codeFirst实现动态建库
导读:在上篇博客中,介绍了使用SQL字符拼接的方式,实现动态建库建表的方法.这样做虽然也能够实现效果,但是,太麻烦,而且,如果改动表结构,字段的话,会对代码修改很多.但是EF给我们提供了一种代码先行的 ...
- SQL Server建库-建表-建约束
----------------------------------------SQL Server建库-建表-建约束创建School数据库------------------------------ ...
- 使用T-sql建库建表建约束
为什么要使用sql语句建库建表? 现在假设这样一个场景,公司的项目经过测试没问题后需要在客户的实际环境中进行演示,那就需要对数据进行移植,现在问题来了:客户的数据库版本和公司开发阶段使用的数据库不兼容 ...
- mysql那些事(4)建库建表编码的选择
mysql建数据库或者建表的时候会遇到选择编码的问题,以前我们都是习惯性的选择utf8,但是在mysql在5.5.3版本后加了utf8mb4的编码,utf8mb4可以存4个字节Unicode,mb4就 ...
- C# 利用*.SQL文件自动建库建表等的类
/// <summary> /// 自动建库建表 /// </summary> public class OperationSqlFile { SqlConnection sq ...
随机推荐
- Git学习 -- 分支管理
创建新分支,并切换到该分支 git checkout -b dev 这一句相当于以下两句: git branch dev 创建 git checkout dev 切换 查看当前分支 git branc ...
- PAT1064(上)分析部分
Complete Binary Search Tree (30) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B A Binary Search Tree (BST) ...
- Android Studio 提示Error running app: No Android facet found for app
错误解决办法如下: 可以通过以下几个步骤解决该问题: 1) 点击菜单File -> 选择Project Structure, 或使用快捷键 (Ctrl+Alt+Shift+S) 打开”Proje ...
- 使用nodejs的net模块创建TCP服务器
使用nodejs的net模块创建TCP服务器 laiqun@msn.cn Contents 1. 代码实现 2. 使用telnet连接服务器测试 3. 创建一个TCP的client 1. 代码实现 ; ...
- LayoutParams 命名的时候,最好用与子控件相关的字符串命名,
@Override public View initView() { RelativeLayout container = new RelativeLayout(UIUtils.getContext( ...
- 基于ATmgea8单片机设计的加热控制系统(转)
源:http://blog.163.com/zhaojun_xf/blog/static/3005058020085102562729/ 1 引言 温度是工业生产中主要的被控参数之一,与之相关的各种温 ...
- IPoint Interface接口
Description A Point is a zero-dimensional object that represents a specific (X, Y) location in a the ...
- 关于arguments.callee.caller.arguments[0]获得event的一些问题
先从一个简单的例子说起,一个简单的button控件如下: < input type ='button' name ='mybtn' id ='mybtn' onclick ='myFun ...
- [jQueryUI] – Chosen:select下拉选择框美化插件及问题
Chosen 是一个支持jquery的select下拉框美化插件,它能让丑陋的.很长的select选择框变的更好看.更方便.不仅如此,它更扩展了select,增加了自动筛选的功能.它可对列表进行分组, ...
- UVa 816 Abbott的复仇(BFS)
寒假的第一道题目,在放假回家颓废了两天后,今天终于开始刷题了.希望以后每天也能多刷几道题. 题意:这道BFS题还是有点复杂的,给一个最多9*9的迷宫,但是每个点都有不同的方向,每次进入该点的方向不同, ...