数据库的初始化和升级(代码)
2016-06-06 22:49
281 查看
package com.hanqi.testapp3; import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.EditText; import android.widget.Toast; public class TestActivity2 extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test2); } //初始化数据库 public void bt1_OnClick(View v) { //使用工具类得到数据库对象 MyDBHelper myDBHelper=new MyDBHelper("test.db",2); //得到连接 SQLiteDatabase sd=myDBHelper.getReadableDatabase(); Toast.makeText(TestActivity2.this, "连接数据库成功", Toast.LENGTH_SHORT).show(); //关闭连接 sd.close(); } //升级数据库 public void bt2_OnClick(View v) { //使用工具类得到数据库对象 MyDBHelper myDBHelper=new MyDBHelper("test.db",2); //得到连接 SQLiteDatabase sd=myDBHelper.getWritableDatabase(); Toast.makeText(TestActivity2.this, "连接数据库成功", Toast.LENGTH_SHORT).show(); //关闭连接 sd.close(); } //实现SQLiteOpenHelper的内部类 class MyDBHelper extends SQLiteOpenHelper { //构造方法 public MyDBHelper(String dbname,int ver) { //显示调用父类的构造方法 //必须在第一行 super(TestActivity2.this,dbname,null,ver); } //创建和初始化数据库 @Override public void onCreate(SQLiteDatabase db) { //1.执行创建数据库的语句 String sql="CREATE TABLE t_user" + "(_id INTEGER PRIMARY KEY " + "AUTOINCREMENT NOT NULL," + "name VARCHAR(20) NOT NULL," + "sex CHAR(1),age INTEGER)"; db.execSQL(sql); Log.e("TAG","表创建成功"); //2.执行初始化数据的语句,insert语句 ContentValues cv=new ContentValues(); cv.put("name","张三"); cv.put("sex","男"); cv.put("age","20"); //执行插入,返回主键 long l=db.insert("t_user",null,cv); Log.e("TAG","初始化数据="+l); } //升级数据库 //触发条件:当版本号增大 @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { //修改数据 if(newVersion==2) { ContentValues cv=new ContentValues(); cv.put("name","李四"); String sql="update t_user set name='李四' where _id=1 "; String[] str={"1","18"}; //调用db的更新方法 int i=db.update("t_user", cv, "_id=? and age>?",str); Log.e("TAG","升级数据 数据条数="+i); } } } }
.java
相关文章推荐
- linux下操作redis数据库的常用命令
- mybatis整合redis
- Chapter 1. 数据库的基本操作(连接、登录方式、卸载)
- IDEF1x语义建模方法及其在数据库设计中的应用
- 数据库表被锁住如何处理
- Sql Server中常见的数据类型
- Ubuntu mysql安装,还有可视化界面
- SQL Server2005作业执行失败的解决办法
- center os 安装mysql5.6
- Oracle建立表空间和用户
- SQL Server删除重复行的6个方法
- MySQL 开启远程访问
- mysql一些使用技巧
- MongoDB for Java Programmer ——3
- Chapter 1. 数据库(介绍、主键、外键)
- mysql常用基础操作语法(一)~~对库的操作【命令行模式】
- 数据库操作框架
- 如何把Excel中的数据导入到数据库
- WebSQL
- mysql导sql文件