public class sqlAdapter {
public static final String dbName="mysql.db";
private Context context;
private SQLiteDatabase myDataBase;
public SQLiteDatabase getMyDataBase() {
return myDataBase;
}
public sqlAdapter(Context context)
{
this.context=context;~~~~~~~~~~~~~~~~~~~~~~~~~这是获取上下文 }
public void opensql()
{
alarmDB sql=new alarmDB(context,dbName,null,1);
myDataBase=sql.getWritableDatabase();// 此处才真正的创建了数据库
}
public int findId(int hour,int minute,String weeklast)
{
Cursor cur=myDataBase.query(toolutil.tablename, new String[]{toolutil.id}, toolutil.hour + "=" +hour +" and"~~~~~~~~~~~~~~这个query方法的参数介绍:第一个是表名,第二个是选择的列此处只获取id列,第三个参数是条件信息即查找指定条件的数据此处是限定指定的小时、分、星期数,第四个参数是如果第三个参数等号后面有“?”这里就是问号的数据后面参数可以滞空。
+ toolutil.minute +" =" + minute+" and " +toolutil.week +" = " +weeklast, null, null, null, null);//注意空格 if(cur!=null)
{
cur.moveToFirst();
int id=cur.getInt(cur.getColumnIndex(toolutil.id));~~~~~~~~~~~~~~~获取游标的指定列的数据 cur.close();
return id;
}
return -1;
}
public boolean updaptData(int id,int hour,int minute,String weeklast,String music,int lasttime )
{
ContentValues value=new ContentValues();
value.put(toolutil.hour,hour);
value.put(toolutil.minute,minute);
value.put(toolutil.week,weeklast);
value.put(toolutil.music,music);
value.put(toolutil.lasttime,lasttime);
//value.put(toolutil.state,state);
return myDataBase.update(toolutil.tablename, value, toolutil.id +" =" +id, null)>0;~~~~~~~~~~~更新数据 }
public boolean updatastate(int id,int state)
{
ContentValues value=new ContentValues();
value.put(toolutil.state, state);
return myDataBase.update(toolutil.tablename, value, toolutil.id+ " ="+id, null)>0;~~~~~~~~~~~~~~只更新指定id的state列的数据
} public void insertData(int hour,int minute,String weeklast,String music,int lasttime ,int state)
{
ContentValues value=new ContentValues();~~~~~~~~~~~~~~~~~~~~~~~好比MAP一样先向其中预存指定的列名和参数然后对数据库赋值 value.put(toolutil.hour,hour);
value.put(toolutil.minute,minute);
value.put(toolutil.week,weeklast);
value.put(toolutil.music,music);
value.put(toolutil.lasttime,lasttime);
value.put(toolutil.state,state);
myDataBase.insert(toolutil.tablename, toolutil.id,value);//此处的红色标记是不用手动插入的字段而是系统自动分配的部分。如果你的id是自己定的这里可以设为空 }
public void deletedata(int id)
{
myDataBase.delete(toolutil.tablename,toolutil.id+"="+id , null);
}
public Cursor findcur(int id)
{
Cursor cur=myDataBase.query(toolutil.tablename, null, toolutil.id+ " ="+id, null, null, null, null);
return cur;
}
}