package com.pps.sharpturn.db; import java.util.ArrayList; import java.util.List; import com.pps.sharpturn.model.SharpModel; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.util.Log; public class DBManager { private Context mContext; private DBHelper mDBHelper; private SQLiteDatabase mDatabase; public DBManager(Context pContext) { this.mContext=pContext; mDBHelper=new DBHelper(mContext); } /** * 根据传进来的索引进行查询一条数据对象 * @param pSharp_id * @return */ public SharpModel querySharpById(int pSharp_id) { SharpModel mSharpModel=null; mDatabase=mDBHelper.getReadableDatabase(); Cursor mCursor = mDatabase.query(DBConfig.TABLE_BOOK_NAME, new String[]{"name","answer"}, "id= ?", new String[]{String.valueOf(pSharp_id)}, null, null,null); if(mCursor!=null&&mCursor.getCount()>0) { mSharpModel=new SharpModel(); mSharpModel.setName(mCursor.getString(mCursor.getColumnIndex("name"))); mSharpModel.setAnswer(mCursor.getString(mCursor.getColumnIndex("answer"))); if(mCursor!=null) { mCursor.close(); } if(mDatabase!=null) { mDatabase.close(); } return mSharpModel; } return null; } /** * 返回所有问题的对象集合 * @return */ public List<SharpModel> querySharps(){ List<SharpModel> mLists=new ArrayList<SharpModel>(); SharpModel model=null; mDatabase=mDBHelper.getReadableDatabase(); Cursor mCursor=mDatabase.query(DBConfig.TABLE_BOOK_NAME, new String[]{"id","name","answer"},null, null, null, null, null); if(mCursor!=null&&mCursor.getCount()>0){ while(mCursor.moveToNext()){ model=new SharpModel(); model.setId(mCursor.getInt(mCursor.getColumnIndex("id"))); model.setName(mCursor.getString(mCursor.getColumnIndex("name"))); model.setAnswer(mCursor.getString(mCursor.getColumnIndex("answer"))); mLists.add(model); } if(mCursor!=null){ mCursor.close(); } if(mDatabase!=null){ mDatabase.close(); } return mLists; } return null; } /** * 根据传进来的对象进行插入到数据库 * @param pSharpModel * @return 插入成功返回true,否则返回false */ public boolean insertSharp(SharpModel pSharpModel) { mDatabase=mDBHelper.getWritableDatabase(); ContentValues mContentValues=new ContentValues(); mContentValues.put("name", pSharpModel.getName()); mContentValues.put("answer", pSharpModel.getAnswer()); long result= mDatabase.insert(DBConfig.TABLE_BOOK_NAME, null, mContentValues); if(mDatabase!=null) { mDatabase.close(); } if(result!=-1) { return true; } return false; } /** * * @param pLists * @return */ public boolean insertSharpByList(List<SharpModel> pLists){ Log.d("jiangqq", ">>>>>>需要插入的数据条数为"+pLists.size()); for (SharpModel sharpModel : pLists) { boolean result = insertSharp(sharpModel); if(!result) { return false; } } return true; } /** * 根据id的值进行删除制定得收藏 * @param id * @return 删除成功返回true,失败返回false */ public boolean deleteSharpById(int id){ mDatabase=mDBHelper.getWritableDatabase(); long result=mDatabase.delete(DBConfig.TABLE_BOOK_NAME, "id = ?", new String[]{String.valueOf(id)}); if(mDatabase!=null){ mDatabase.close(); } if(result>0){ return true; }else { return false; } } }