public class DaoUtil {
//用于对数据库进行增删改查
MyOpenHelper openHelper;
SQLiteDatabase database;
//借助构造方法,获得上下文对象
public DaoUtil (Context context) {
openHelper=new MyOpenHelper(context);
database=openHelper.getReadableDatabase();
}
//增加数据
public void insert(String num, String name,String sex){
//第一种方法
String sql="insert into studentinfo (num,name,sex) values('"+num+"','"+name+"','"+e+"')";
//字符串的拼接,小心处理
database.execSQL(sql);
//第二种方法
ContentValues values=new ContentValues();
values.put("num",num);
values.put("name",name);
values.put("sex",sex);
database.insert("studentinfo",null,values);
}
//进一步的写法为:建一个Bean的类,包含num,name,sex等参数
//put的时候后边跟上get方法
//insert的时候new StudentBean(num,name,sex),就可以了
//这样做的好处是把快递信息封装为一个对象之后,参数顺序不用考虑,参数更加清晰明白,每一次的添加都可以对应为一个对象
public void insertData(StudentBeanbean){
ContentValues values=new ContentValues();
values.put("num",bean.getnum());
values.put("name",bean.getname());
values.put("sex",bean.getsex());
database.insert("studentinfo",null,values);
}
//查询单个数据
public StudentBean queryStudent(String num){
String sql="select * from studentinfowhere num=?";
//?是一个占位符,rawQuery的两个参数,第一个是sql语句,第二个是?代表的查询条件,可以是多个,所以用String数据来表示
Cursor cursor=database.rawQuery(sql,new String[]{num});
if(cursor.moveToNext()){ //只有一个数据要查询,while可以改为if
String name=cursor.getString(cursor.getColumnIndex("name"));
String sex=cursor.getString(cursor.getColumnIndex("sex"));
StudentBean bean=new StudentBean (num,name,sex);
return bean;
}else
return null;
}
//查询多个数据
public List<StudentBean > queryAllExpress(){
String sql="select * from studentinfo";//此处不用使用占位符
Cursor cursor=database.rawQuery(sql,null);
List<StudentBean > beanList=new ArrayList<>();
while(cursor.moveToNext()){ //只有一个数据要查询,while可以改为if
String num=cursor.getString(cursor.getColumnIndex("num"));
String name=cursor.getString(cursor.getColumnIndex("name"));
String sex= cursor.getString(cursor.getColumnIndex("sex"));
StudentBean bean=new ExpressBean(num, name, sex);
beanList.add(bean);
}
return beanList;
}
//删除数据
public void delete(String num){
/* 第一种方法
String sql="delete from studentinfo where num="+num;
database.execSQL(sql);*/
//第二种方法
String where="num=?";
database.delete("studentinfo",where,new String[]{num});
}
//修改数据
public void update(String num){
/* String sql="update studentinfo set name ='张三' where num='"+num+"'";
database.execSQL(sql);*/
//第二种方法
ContentValues values=new ContentValues();
values.put("name","李四");
String where="num=?";
database.update("studentinfo ",values,where,new String[]{num});
}
//第二种修改数据的方法,因为第一种把数据写死了
public void updateData(StudentBean bean,ContentValues values){
String where="num=?";
database.update("studentinfo ",values,where,new String[]{bean.getnum()});
}
}
数据库增删查改Util
最新推荐文章于 2022-06-21 21:01:15 发布