Android Sqlite的增、删、改、查

本文详细介绍了如何在Android Activity中管理数据库,包括创建、升级、查询、更新、删除和插入数据的操作,旨在提高数据库操作的效率并减少错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下代码数据库的关闭在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.youkuaiyun.com/download/aaren_jiang/6516449

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值