http://www.verycd.com/topics/2915669/

17_传智播客Android视频教程_创建数据库与完成数据添删改查

1.创建数据库

package com.wan;import android.content.Context;import android.database.DatabaseErrorHandler;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;public class DBOpenHelper extends SQLiteOpenHelper {    public DBOpenHelper(Context context) {        //context,文件名,游标(使用默认的游标工厂),数据库的版本号        super(context,"wan.db",null,1);//保存在 /data/data/<包民>/database/ 文件下    }    //数据库在第一次创建的时候调用的。创建完数据库文件后执行。这里一般是生成数据库表结构。    @Override    public void onCreate(SQLiteDatabase db) {        db.execSQL("create table person(id integer primary key autoincorement,name varchar(20))");    }    //数据库文件版本号发生变化的时候执行的。一般是添加字段,取出字段。    @Override    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {        db.execSQL("Alter Table person Add phone varchar(12) null");    }}

这样就可以创建数据库和表了。

使用 sqlite expert professional 查看sqlite里面的数据和结构

数据库文件会在 /data/data/<包民>/database/

2.执行创建

@Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        DBOpenHelper db =new DBOpenHelper(getApplicationContext());        db.getWritableDatabase();            }

在调用

        SQLiteDatabase r=db.getWritableDatabase();        SQLiteDatabase r1=db.getWritableDatabase();

执行两次得到的数据库是一个实例。

上面的方法,在数据库文件文件太大,就可能会报错。

3.更新、查询和分页

        //修改        r1.execSQL("update person set name =? , phone =?", new String[] {                "name", "891" });        //查询        Cursor cursor = r1.rawQuery("select * from person where id = ? ",                new String[] { "128" });        if (cursor.moveToFirst()) {            int id = cursor.getInt(cursor.getColumnIndex("id"));            String name =cursor.getString(cursor.getColumnIndex("name"));        }        //分页        Cursor cursorPage = r1.rawQuery("select * from person limit 100,50",null);

18_传智播客Android视频教程_在SQLite中使用事务

1.事务使用

        //开始事务        r1.beginTransaction();        r1.execSQL("update person set xxx=100 where id =1");        r1.execSQL("update person set yyy=100 where id =1");        //结束事务        r1.endTransaction();        //事务的提交或回滚是 由事务标志决定的,默认情况下为false。为True的时候提交,否则回滚

第18集完。

更多相关文章

  1. 如何查看无法导出的android数据库文件?
  2. android > SMS 短信数据库访问
  3. android sqilte3数据库大小的测试
  4. Android 取出 图片以字节形式存放到数据库的数据,并将图片显示
  5. android 建数据库 SQLite 存储sd 卡或者内存
  6. android 数据库 备份还原
  7. Android SQLiteOpenHelper(手机数据库)
  8. Android中有关数据库SQLite的介绍
  9. android常用数据库字段描述

随机推荐

  1. XML数据岛之数据修改与添加
  2. 利用xmllint命令处理xml
  3. XML PULL和PUSH技术的区别
  4. XML数据岛之数据分页显示
  5. 详解对XML进行Sax解析的示例代码分享
  6. SAX简单解析XML的示例代码分享
  7. XML数据岛之数据绑定实例详解
  8. 详细介绍XML中的DOCTYPE字段
  9. 详细介绍通过JAXB实现XML和对象之间的映
  10. 如何使用bash解析xml的示例代码分析