package com.iceboard.tccme.dao;
import java.util.ArrayList;
import java.util.List;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import com.iceboard.tccme.DBHelper.IceDatabaseHelper;
import com.iceboard.tccme.model.AdTable;
public class AdTableDao {
private IceDatabaseHelper helper;
private String TABLE_NAME="adtable";
/**
* 设备信息的构造模型,实例化时,会检查表是否存在,若不存在,则创建该表
* @version 1.0
* @author 版权所有:iceboard.yang@gmail.com create by 2013-3-29
* @param context 上下文
* **/
public AdTableDao(Context context) {
// TODO Auto-generated method stub
//实例化数据库对象,
helper = new IceDatabaseHelper(context);
//初始化时,可以插入一些数据 ,可以先关掉
// int iCount = queryCount();
// if (iCount<1) {
// ContentValues cv = new ContentValues();
// cv.put("username", "admin");
// cv.put("password", "123456");
// insert(cv);
// }
//
}
/**
* 插入设备基本信息对象
* @version 1.0
* @author 版权所有:iceboard.yang@gmail.com create by 2013-3-29
* @param m 设备实体
* */
public void insert(AdTable e){
//打开数据库
SQLiteDatabase db = helper.getWritableDatabase();
//执行SQL。替换占位符
db.execSQL("insert into adtable(_id,channel_id,fieldid,isdownload)"+
" VALUES (?,?,?,?) ",new Object[]{e.get_id(),e.getChannel_id(),e.getFieldid(),e.getIsdownload()});
//释放资源
db.close();
}
/**
* 插入设备信息对象,并返回插入的行号
* @version 1.0
* @author 版权所有:iceboard.yang@gmail.com create by 2013-3-29
* @param cv 包括有设备实体类型的对象;
* */
public Long insert(ContentValues cv){
//打开数据库
SQLiteDatabase db = helper.getWritableDatabase();
//执行SQL。替换占位符
Long i = db.insert(TABLE_NAME, null, cv);
db.close();
return i;
}
/**
* 删除数据指定ID的记录
* @version 1.0
* @author 版权所有:iceboard.yang@gmail.com create by 2013-3-29
* @param id 要删除的数据的ID
* */
public void delete(int id){
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("DELETE FROM adtable WHERE _id = ?",new Object[]{id});
db.close();
}
/**
* 删除所有数据数据
* @version 1.0
* @author 版权所有:iceboard.yang@gmail.com create by 2013-3-29
* */
public void deleteAll(){
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("DELETE FROM " + TABLE_NAME);
db.close();
}
/**
* 惠新数据库 根据ID更新数据;
* @version 1.0
* @author 版权所有:iceboard.yang@gmail.com create by 2013-3-29
* @param m 设备实体
* @param id 要惠新的ID记录 *
* */
public void update(AdTable e,int id){
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("update adtable set channel_id=?,fieldid=?,isdownload=?where _id=?"
,new Object[]{ e.getChannel_id(),e.getFieldid(),e.getIsdownload(),id});
db.close();
}
/**
* 更新数据库 根据ID更新数据;
* @param FieldsAndValues 在前端拼装好的更新字段值
* @param id 要惠新的记录记录;
* */
public void update(String FieldsAndValues,int id){
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("update adtable set ? where _id=?",new Object[]{FieldsAndValues,id});
db.close();
}
/**
* 更新数据库 根据ID更新数据;
* @param FieldsAndValues 在前端拼装好的更新字段值
* @param id 要惠新的记录记录;
* */
public void update(String FieldsAndValues,String condition){
SQLiteDatabase db = helper.getWritableDatabase();
String sql = " update adtable set "+FieldsAndValues+" where 1=1 "+condition;
Log.d("更新通知公告", sql);
db.execSQL(sql);
db.close();
}
/**
* 查询数据库,根据指定的ID值返回一个信息实体
* @version 1.0
* @author 版权所有:iceboard.yang@gmail.com create by 2013-3-29
* @param id ID,条件ID
* */
public AdTable query(int id){
SQLiteDatabase db = helper.getReadableDatabase();
//执行查询,得到一个Cursor,类似数据表;
Cursor c = db.rawQuery("SELECT * FROM adtable WHERE _id=?", new String[] { String.valueOf(id) });
AdTable e = new AdTable();
while (c.moveToNext()) {
e.set_id(c.getInt(c.getColumnIndex("_id")));
e.setChannel_id(c.getInt(c.getColumnIndex("channel_id")));
e.setFieldid(c.getString(c.getColumnIndex("fieldid")));
e.setIsdownload(c.getInt(c.getColumnIndex("isdownload")));
}
c.close();
db.close();
return e;
}
/**
* 返回记录总条数;
* @version 1.0
* @author 版权所有:iceboard.yang@gmail.com create by 2013-3-29
* */
public int queryCount(){
SQLiteDatabase db = helper.getReadableDatabase();
Cursor c = db.rawQuery("SELECT COUNT(*) FROM adtable", null);
c.moveToNext();
int count =c.getInt(0);
c.close();
db.close();
return count;
}
/**
* 自定义查询条件,并返回Cursor对象
* @version 1.0
* @author 版权所有:iceboard.yang@gmail.com create by 2013-3-29
* @param condition 拼装的条件字符串
* */
public List<AdTable> select(String condiction){
SQLiteDatabase db = helper.getReadableDatabase();
String strSql = "select * from adtable where 1=1 "+condiction;
// Log.d("拼装的SQL", strSql );
List<AdTable> adtable = new ArrayList<AdTable>();
Cursor c = db.rawQuery(strSql, null);
while (c.moveToNext()) {
AdTable e = new AdTable();
e.set_id(c.getInt(c.getColumnIndex("_id")));
e.setChannel_id(c.getInt(c.getColumnIndex("channel_id")));
e.setFieldid(c.getString(c.getColumnIndex("fieldid")));
e.setIsdownload(c.getInt(c.getColumnIndex("isdownload")));
adtable.add(e);
}
db.close();
return adtable;
}
}
import java.util.ArrayList;
import java.util.List;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import com.iceboard.tccme.DBHelper.IceDatabaseHelper;
import com.iceboard.tccme.model.AdTable;
public class AdTableDao {
private IceDatabaseHelper helper;
private String TABLE_NAME="adtable";
/**
* 设备信息的构造模型,实例化时,会检查表是否存在,若不存在,则创建该表
* @version 1.0
* @author 版权所有:iceboard.yang@gmail.com create by 2013-3-29
* @param context 上下文
* **/
public AdTableDao(Context context) {
// TODO Auto-generated method stub
//实例化数据库对象,
helper = new IceDatabaseHelper(context);
//初始化时,可以插入一些数据 ,可以先关掉
// int iCount = queryCount();
// if (iCount<1) {
// ContentValues cv = new ContentValues();
// cv.put("username", "admin");
// cv.put("password", "123456");
// insert(cv);
// }
//
}
/**
* 插入设备基本信息对象
* @version 1.0
* @author 版权所有:iceboard.yang@gmail.com create by 2013-3-29
* @param m 设备实体
* */
public void insert(AdTable e){
//打开数据库
SQLiteDatabase db = helper.getWritableDatabase();
//执行SQL。替换占位符
db.execSQL("insert into adtable(_id,channel_id,fieldid,isdownload)"+
" VALUES (?,?,?,?) ",new Object[]{e.get_id(),e.getChannel_id(),e.getFieldid(),e.getIsdownload()});
//释放资源
db.close();
}
/**
* 插入设备信息对象,并返回插入的行号
* @version 1.0
* @author 版权所有:iceboard.yang@gmail.com create by 2013-3-29
* @param cv 包括有设备实体类型的对象;
* */
public Long insert(ContentValues cv){
//打开数据库
SQLiteDatabase db = helper.getWritableDatabase();
//执行SQL。替换占位符
Long i = db.insert(TABLE_NAME, null, cv);
db.close();
return i;
}
/**
* 删除数据指定ID的记录
* @version 1.0
* @author 版权所有:iceboard.yang@gmail.com create by 2013-3-29
* @param id 要删除的数据的ID
* */
public void delete(int id){
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("DELETE FROM adtable WHERE _id = ?",new Object[]{id});
db.close();
}
/**
* 删除所有数据数据
* @version 1.0
* @author 版权所有:iceboard.yang@gmail.com create by 2013-3-29
* */
public void deleteAll(){
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("DELETE FROM " + TABLE_NAME);
db.close();
}
/**
* 惠新数据库 根据ID更新数据;
* @version 1.0
* @author 版权所有:iceboard.yang@gmail.com create by 2013-3-29
* @param m 设备实体
* @param id 要惠新的ID记录 *
* */
public void update(AdTable e,int id){
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("update adtable set channel_id=?,fieldid=?,isdownload=?where _id=?"
,new Object[]{ e.getChannel_id(),e.getFieldid(),e.getIsdownload(),id});
db.close();
}
/**
* 更新数据库 根据ID更新数据;
* @param FieldsAndValues 在前端拼装好的更新字段值
* @param id 要惠新的记录记录;
* */
public void update(String FieldsAndValues,int id){
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("update adtable set ? where _id=?",new Object[]{FieldsAndValues,id});
db.close();
}
/**
* 更新数据库 根据ID更新数据;
* @param FieldsAndValues 在前端拼装好的更新字段值
* @param id 要惠新的记录记录;
* */
public void update(String FieldsAndValues,String condition){
SQLiteDatabase db = helper.getWritableDatabase();
String sql = " update adtable set "+FieldsAndValues+" where 1=1 "+condition;
Log.d("更新通知公告", sql);
db.execSQL(sql);
db.close();
}
/**
* 查询数据库,根据指定的ID值返回一个信息实体
* @version 1.0
* @author 版权所有:iceboard.yang@gmail.com create by 2013-3-29
* @param id ID,条件ID
* */
public AdTable query(int id){
SQLiteDatabase db = helper.getReadableDatabase();
//执行查询,得到一个Cursor,类似数据表;
Cursor c = db.rawQuery("SELECT * FROM adtable WHERE _id=?", new String[] { String.valueOf(id) });
AdTable e = new AdTable();
while (c.moveToNext()) {
e.set_id(c.getInt(c.getColumnIndex("_id")));
e.setChannel_id(c.getInt(c.getColumnIndex("channel_id")));
e.setFieldid(c.getString(c.getColumnIndex("fieldid")));
e.setIsdownload(c.getInt(c.getColumnIndex("isdownload")));
}
c.close();
db.close();
return e;
}
/**
* 返回记录总条数;
* @version 1.0
* @author 版权所有:iceboard.yang@gmail.com create by 2013-3-29
* */
public int queryCount(){
SQLiteDatabase db = helper.getReadableDatabase();
Cursor c = db.rawQuery("SELECT COUNT(*) FROM adtable", null);
c.moveToNext();
int count =c.getInt(0);
c.close();
db.close();
return count;
}
/**
* 自定义查询条件,并返回Cursor对象
* @version 1.0
* @author 版权所有:iceboard.yang@gmail.com create by 2013-3-29
* @param condition 拼装的条件字符串
* */
public List<AdTable> select(String condiction){
SQLiteDatabase db = helper.getReadableDatabase();
String strSql = "select * from adtable where 1=1 "+condiction;
// Log.d("拼装的SQL", strSql );
List<AdTable> adtable = new ArrayList<AdTable>();
Cursor c = db.rawQuery(strSql, null);
while (c.moveToNext()) {
AdTable e = new AdTable();
e.set_id(c.getInt(c.getColumnIndex("_id")));
e.setChannel_id(c.getInt(c.getColumnIndex("channel_id")));
e.setFieldid(c.getString(c.getColumnIndex("fieldid")));
e.setIsdownload(c.getInt(c.getColumnIndex("isdownload")));
adtable.add(e);
}
db.close();
return adtable;
}
}