如果想操作多个数据库就不要把数据库的名字写死了

    public MyOpenHelper(Context context, String name){
//第一个参数上下文
//第二个参数 数据库的名字 如果传入null 就是在内存中创建一个数据库 内存中的数据库在应用退出之后 数据就会丢失
//如果是聊天记录之类我真正的想给它存起来,下一次再启动还想用那你就要给它存储到一个具体的数据库里面。这个名字就一定要传进来
//第三个参数 游标工厂 如果使用系统默认的游标工厂就传入null
//第四个参数 数据库的版本号 用版本号来控制数据库的升级和降级 版本号从1开始
super(context, "itheima.db", null, 1);
// TODO Auto-generated constructor stub
}

把"itheima.db"用String name代替而不是写死了就可以操作多个数据库了.如果写死的话拿到的SQLiteDatabase实际上操作的都是同一个数据库就是这个itheima.db.当数据库文件itheima.db第一次创建的时候,它会走onCreate().一旦我这个数据库文件创建起来之后,再去运行这个项目,这个onCreate()就不会走了.因为它只是当数据库文件第一次创建的时候才会执行onCreate().

onCreate()就是当数据库文件第一次创建的时候被执行。onCreate()做表结构的初始化也可以丢一些初始化的数据。

当数据库升级的时候就会走这个onUpgrade

数据库升级的SQL语句什么时候会被调用?数据库升级就是版本号增加的时候。

        super(context, "itheima.db", null, 2);

    @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

第一个参数SQLiteDatabase执行具体的SQL.

最新文章

  1. UNTIY3D接入91SDK的办法
  2. mysql启动报错(mac)
  3. JavaScript实现在textbox输入时自动去数据库匹配并找出类似值列出,选择后记得将值填入本textbox及下一个textbox
  4. ligerui_实际项目_003:form中添加数据,表格(grid)里面显示,最后将表格(grid)里的数据提交到servlet
  5. Sql case when用法
  6. 数据导入问题:[Err] [Imp] 1406 - Data too long for column 'linkman' at row 20 [Err] [Imp] INSERT INTO `excel_eprinfo`
  7. 【HTML】Intermediate3:Meta Tags
  8. (转) Special members
  9. redis 中文存储乱码问题
  10. 浅论Javascript在汽车信号测试中的应用
  11. Freemarker页面静态化技术,activemq监听页面变动
  12. node.js的安装的配置
  13. Java开发笔记(七十二)Java8新增的流式处理
  14. Django & JavaScript 用Ajax实现JSON数据的请求和响应
  15. 根据IP查地理位置信息
  16. mxonline 总结
  17. golang的urlrouter
  18. Linux下tar.gz 安装
  19. web客户端安全之跨站脚本攻击
  20. Informatica 常用组件Filter之二 过滤条件

热门文章

  1. 资源:Localization – 本地化
  2. JavaScript 原型解析
  3. Linux内核的编译安装
  4. 观察OnPaint与OnIdle与OnSize事件
  5. UITableViewCell的多选操作
  6. Latex 4: WinEdt 10试用时间限制的破解+注册码激活
  7. FI 常用表
  8. String源码中hashCode算法
  9. GCC的-wl,-rpath=参数
  10. 世界各国Google网址大全