antroid数据库操作

1、创建数据库和升级数据库

 package org.jgw.service;


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

public  class DBOpenHelper  extends SQLiteOpenHelper {

     public DBOpenHelper(Context context) 
    {
         super(context, "mxh.db",  null, 2); 
    }

    @Override
     public  void onCreate(SQLiteDatabase db) {
        db.execSQL("create table test(id integer primary key autoincrement,name varchar(20))");
    }

    @Override
     public  void onUpgrade(SQLiteDatabase db,  int oldVersion,  int newVersion) {
         //  TODO Auto-generated method stub
        db.execSQL("alter table test add memo varchar(50)");
    }

}

2、数据库的添加、删除、修改、查询

 package org.jgw.service;


import java.util.ArrayList;
import java.util.List;

import org.jgw.entity.testTable;

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

public  class testTableService 
{
    
    DBOpenHelper dbop;
    SQLiteDatabase db;
    
     public testTableService(Context context) {
        dbop= new DBOpenHelper(context);        
    }

     public  void add(testTable t)
    {
        db=dbop.getWritableDatabase();
        db.execSQL("insert into test(name,memo) values(?,?)", new Object[]{t.getName(),t.getMemo()});        
    }
    
     public  void delete(Integer id)
    {
        db=dbop.getWritableDatabase();
        db.execSQL("delete from test where id=?", new Object[]{id});            
    }
    
     public  void update(testTable t)
    {
        db=dbop.getWritableDatabase();
        db.execSQL("update test set name=?,memo=? where id=?", new Object[]{t.getName(),t.getMemo(),t.getId()});
    }
    
     public testTable find(Integer id)
    {
        testTable test;
        db=dbop.getWritableDatabase();
        Cursor cursor=db.rawQuery("select * from test where id=?", new String[]{id.toString()});
         if(cursor.moveToFirst())
        {
            test= new testTable(cursor.getInt(cursor.getColumnIndex("id")), cursor.getString(cursor.getColumnIndex("name")), cursor.getString(cursor.getColumnIndex("memo")));
            cursor.close();
             return test;
        }        
        cursor.close();
         return  null;
    }
    
     public List<testTable> findSplitPage( int offset, int pagesize,String where)
    {
        testTable test;
        List<testTable> list= new ArrayList<testTable>();
        db=dbop.getWritableDatabase();
        Cursor cursor=db.rawQuery("select * from test "+where+" order by id limit ?,?", new String[]{offset+"",pagesize+""});
         while(cursor.moveToNext())
        {
            String name=cursor.getString(cursor.getColumnIndex("name"));
            String memo=cursor.getString(cursor.getColumnIndex("memo"));
            test=  new testTable(name, memo);
            list.add(test);
        }
        cursor.close();
         return list;
    }
    
     public  int getSumCount()
    {        
        db=dbop.getWritableDatabase();
        Cursor cursor=db.rawQuery("select count(*) from test", null);
        cursor.moveToFirst();
         return cursor.getInt(0);
    }
    
     /*
     * 事务的使用
     
*/
     public  void Transaction()
    {
        db=dbop.getWritableDatabase();
        db.beginTransaction();
         try
        {
            db.execSQL("update test set name=? where id=?", new Object[]{"sdfsdf","1"});
            db.execSQL("update test set name=?  where id=?", new Object[]{"aaaa","2"});
            db.setTransactionSuccessful();
        }
         finally
        {
            db.endTransaction();
        }
    }
    
}

3、数据库实务操作 

  /*

     * 事务的使用
     
*/
     public  void Transaction()
    {
        db=dbop.getWritableDatabase();
        db.beginTransaction();
         try
        {
            db.execSQL("update test set name=? where id=?", new Object[]{"sdfsdf","1"});
            db.execSQL("update test set name=?  where id=?", new Object[]{"aaaa","2"});
            db.setTransactionSuccessful();
        }
         finally
        {
            db.endTransaction();
        }
    }


转载于:https://www.cnblogs.com/kuailewangzi1212/archive/2012/07/29/2614187.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值