android sqlit的模板

package com.pitaya.sqlitetest;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class Sqlitehelper extends SQLiteOpenHelper
{

    private String TABLE_NAME="user";

    public Sqlitehelper(Context context, String name, CursorFactory factory, int version)
    {
        super(context, name, factory, version);
    }

    @Override
    public void onCreate(SQLiteDatabase db)
    {
        System.out.println("create a sqlite database");
        String sql = " create table"+ TABLE_NAME+"(id integer primary key,name varchar(15) not null,sex varchar(5))";
        db.execSQL(sql);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
    {
        /*
         * 1. 将表名改为临时表 2. 创建新表 3. 导入数据   4. 删除临时表  
         */
        db.execSQL("ALTER TABLE "+TABLE_NAME+"RENAME temptable");
        db.execSQL("create table "+TABLE_NAME+"(id integer primary key,name varchar(15) not null,sex varchar(5))");
        db.execSQL("INSERT INTO "+TABLE_NAME+" SELECT * FROM  temptable");
        db.execSQL("DROP TABLE temptable");
    }

    public Cursor select()
    {
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.query(TABLE_NAME, null, null, null, null, null, null);
//        Cursor curser = db.rawQuery("select * from user where username=?",new String []{"Jack"});// 带参数查询
        /*if(cursor.moveToFirst()){//判断游标是否为空
            for(int i=0;i<cursor.getCount();i++){
                cursor.move(i);//移动到指定记录
                String username = cursor.getString(cursor.getColumnIndex("username"));
                String password = cursor.getString(cursor.getColumnIndex("password"));
            }
        }*/
        return cursor;
    }

    // 增加操作
    public long insert(String ...string)
    {
        SQLiteDatabase db = this.getWritableDatabase();
        /* ContentValues */
        ContentValues cv = new ContentValues();
        cv.put("key","values");
        long row = db.insert(TABLE_NAME, null, cv);
        return row;
    }

    // 删除操作
    public void delete(int id)
    {
        SQLiteDatabase db = this.getWritableDatabase();
        String where = "id = ?";
        String[] whereValue =
        { Integer.toString(id) };
        db.delete(TABLE_NAME, where, whereValue);
    }

    // 修改操作
    public void update(int id, String bookname, String author)
    {
        SQLiteDatabase db = this.getWritableDatabase();
        String where =  " id= ?";
        String[] whereValue =
        { Integer.toString(id) };
        ContentValues cv = new ContentValues();
        cv.put("key","value");
        db.update(TABLE_NAME, cv, where, whereValue);
    }

}

//在new 一个Sqlitehelper对象还得调用

//SQLiteDatabase db =dbHelper.getReadableDatabase();方法才会创建数据库,否则SQL语句可能错误


你可能感兴趣的:(sqlite,Sqlite更新数据库表的处理)