package com.nsmss.scuol.dao; import com.nsmss.scuol.bean.CourseInfo; import com.nsmss.scuol.common.DBHelper; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; public class CourseInfoDao { private DBHelper globalDBHelper; private SQLiteDatabase db; public CourseInfoDao(Context context) { globalDBHelper = new DBHelper(context); db = globalDBHelper.getWritableDatabase(); } public int insert(CourseInfo cInfo) { try { // 如果找到相同(时间地点相同)课程,更新信息 String sql1 = "SELECT cid FROM course_info WHERE courseid=? AND num=? AND weekfrom=? AND weekto=? AND weektype=? " + "AND day=? AND lesson_from=? AND lesson_to=? AND campus=? AND bld=? AND place=?"; Cursor c = db.rawQuery(sql1, new String[]{ cInfo.getCourseid(), cInfo.getNum(), cInfo.getWeekfrom()+"", cInfo.getWeekto()+"", cInfo.getWeektype()+"", cInfo.getDay()+"", cInfo.getLessonfrom()+"", cInfo.getLessonto()+"", cInfo.getCampus(), cInfo.getBld(), cInfo.getPlace() }); if (c.getCount() != 0) { c.moveToFirst(); int cid = c.getInt(c.getColumnIndex("cid")); String sql2 = "UPDATE course_info SET name=?,credit=?,attr=?,exam=?,teacher=? WHERE cid=?"; db.execSQL(sql2, new Object[] { cInfo.getName(), cInfo.getCredit(), cInfo.getAttr(), cInfo.getExam(), cInfo.getTeacher(), cid }); return cid; } // 否则插入课程 String sql = "INSERT INTO course_info (cid,weekfrom,weekto,weektype,day,lesson_from,lesson_to,courseid,num,name,credit,attr,exam,teacher,campus,bld,place) " + "VALUES (NULL, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; db.execSQL(sql, new Object[] { cInfo.getWeekfrom(), cInfo.getWeekto(), cInfo.getWeektype(), cInfo.getDay(), cInfo.getLessonfrom(), cInfo.getLessonto(), cInfo.getCourseid(), cInfo.getNum(), cInfo.getName(), cInfo.getCredit(), cInfo.getAttr(), cInfo.getExam(), cInfo.getTeacher(), cInfo.getCampus(), cInfo.getBld(), cInfo.getPlace() }); Cursor c1 = db.rawQuery("SELECT last_insert_rowid()", null); c1.moveToFirst(); return c1.getInt(c1.getColumnIndex("last_insert_rowid()")); } catch (Exception e) { return 0; } } public boolean delete(int cid) { try { String sql = "DELETE FROM course_info WHERE cid=?"; db.execSQL(sql, new Object[] {cid}); return true; } catch (Exception e) { return false; } } }