Android Sqlite的增、删、改、查

来源:互联网 发布:淘宝手机支付成功界面 编辑:程序博客网 时间:2024/05/16 04:53

以下代码数据库的关闭在Activity当中,因为频繁的关闭很容易引起数据库报错

public class DatabaseHelper extends SQLiteOpenHelper {     private static final String DB_NAME = "mydata.db"; //数据库名称    private static final int version = 1; //数据库版本    private static final String TABLE_NAME = "user";//数据库表名            ArrayList<String> nameList=new ArrayList<String>();         public DatabaseHelper(Context context) {        super(context, DB_NAME, null, version);    }     @Override    public void onCreate(SQLiteDatabase db) {    //创建用户名,名称不能为空        String sql = "create table "+TABLE_NAME+"(username varchar(20) not null , password varchar(60) );";                  db.execSQL(sql);    }     @Override    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {    //如果数据库有更新就清空表数据    db.execSQL("DROP TABLE IF EXISTS "+TABLE_NAME);     }        /**     * 查询获取集合数据     */    public ArrayList<String> getNames(){    nameList.clear();    SQLiteDatabase database = getReadableDatabase();    Cursor rawQuery = database.rawQuery("select * from "+TABLE_NAME, null);    while(rawQuery.moveToNext()){        String name = rawQuery.getString(rawQuery.getColumnIndex("username"));        String password = rawQuery.getString(rawQuery.getColumnIndex("password"));        System.out.println("username:"+name+"   password:"+password);        nameList.add(name);    }    rawQuery.close();    return nameList;    }        /**     * 根据username来改变password     */    public void updatePassword(String userName,String password){    System.out.println("-----执行了修改-----");    SQLiteDatabase database = getWritableDatabase();String sql = "update "+TABLE_NAME+" set password='"+password+"' where username = '"+userName+"'";database.execSQL(sql);    }        /**     * 根据名称删除该条数据     */    public void delete(String userName){    System.out.println("-----执行了删除-----");    SQLiteDatabase database = getWritableDatabase();String sql = "delete from "+TABLE_NAME+"  where username = '"+userName+"'";database.execSQL(sql);    }        /**     * 如果多条数据就要开启事物,避免重复的对磁盘进行操作     */    public void insertNames(ArrayList<String> names){    SQLiteDatabase database = getWritableDatabase();    try{    database.beginTransaction();        for (int i = 0; i < names.size(); i++) {        ContentValues values=new ContentValues();            values.put("username", names.get(i));            values.put("password", names.get(i));            database.insert("user", null, values);    }        database.setTransactionSuccessful();    }finally{    database.endTransaction();    }    }    }


源码下载地址:http://download.csdn.net/download/aaren_jiang/6516449

原创粉丝点击