Sqlite



下面是Cursor對象的常用方法:
c.move(int offset); //以當前位置爲參考,移動到指定行  
c.moveToFirst();    //移動到第一行  
c.moveToLast();     //移動到最後一行  
c.moveToPosition(int position); //移動到指定行  
c.moveToPrevious(); //移動到前一行  
c.moveToNext();     //移動到下一行  
c.isFirst();        //是否指向第一條  
c.isLast();     //是否指向最後一條  
c.isBeforeFirst();  //是否指向第一條之前  
c.isAfterLast();    //是否指向最後一條之後  
c.isNull(int columnIndex);  //指定列是否爲空(列基數爲0)  
c.isClosed();       //遊標是否已關閉  
c.getCount();       //總數據項數  
c.getPosition();    //返回當前遊標所指向的行數  
c.getColumnIndex(String columnName);//返回某列名對應的列索引值  
c.getString(int columnIndex);   //返回當前行指定列的值  


//----------------------------------------------------------------------------------------------------------------------




public class DataDase extends SQLiteOpenHelper {
/*
     super(context, "DB.db", null, 1);
上下文 數據庫名稱 一般爲null 數據庫版本
*/
    public DataDase(Context context) {
        super(context, "DB.db", null, 1);
    }

    //數據庫第一次被創建時onCreate會被調用  
 
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table TimeAxis(id integer  primary key autoincrement,Time char(32),Title char(32))");
        db.execSQL("create table Time(id integer  primary key autoincrement,Time char(32))");
    }


//如果DATABASE_VERSION值被改爲2,系統發現現有數據庫版本不同,即會調用onUpgrade  
//可以進行修改操作 db.execSQL("ALTER TABLE person ADD COLUMN other STRING");  

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {


    }
}




//--------------------------------對DataDase進行封裝----------------------------------------------------------------------------------------------


增刪改使用  new Object[]{}
db.execSQL("insert into TimeAxis(Time,Title) values(?,?)", new Object[]{Time, Title});


查使用  new String[]{}
 Cursor c = db.rawQuery("select * from Time where Time=?", new String[]{Time});
 
public class DB {
    private DataDase Helper;


    public DB(Context context) {
        Helper = new DataDase(context);
    }


    public void addTimeAxis(String Time, String Title) {
        SQLiteDatabase db = Helper.getWritableDatabase();
        db.execSQL("insert into TimeAxis(Time,Title) values(?,?)", new Object[]{Time, Title});
        db.close();
    }


    public void addTime(String Time) {
        SQLiteDatabase db = Helper.getWritableDatabase();
        db.execSQL("insert into Time(Time) values(?)", new Object[]{Time});
        db.close();
    }


    public void Delete() {
        SQLiteDatabase db = Helper.getWritableDatabase();
        db.execSQL("drop table TimeAxis");
        db.execSQL("drop table Time");
        db.close();
    }


    public void Update() {


    }


    public List<BeanTimeAxis> QueryTimeAxis(String Time) {
        List<BeanTimeAxis> data = new ArrayList<>();
        SQLiteDatabase db = Helper.getReadableDatabase();
        Cursor c = db.rawQuery("select * from TimeAxis where Time=? order by id desc", new String[]{Time});
        while (c.moveToNext()) {
            String sTime = c.getString(c.getColumnIndex("Time"));
            String sTitle = c.getString(c.getColumnIndex("Title"));
            BeanTimeAxis bean = new BeanTimeAxis(sTime, sTitle);
            data.add(bean);
        }
        c.close();
        db.close();
        return data;
    }


    public List<String> QueryTime() {
        List<String> data = new ArrayList<>();
        SQLiteDatabase db = Helper.getReadableDatabase();
        Cursor c = db.rawQuery("select * from Time order by id desc", null);
        while (c.moveToNext()) {
            String sTime = c.getString(c.getColumnIndex("Time"));
            data.add(sTime);
        }
        c.close();
        db.close();
        return data;
    }


    public boolean findTime(String Time) {
        SQLiteDatabase db = Helper.getReadableDatabase();
        Cursor c = db.rawQuery("select * from Time where Time=?", new String[]{Time});
        boolean b = c.moveToNext();
        c.close();
        db.close();
        return b;
    }


    public boolean findTimeAxis(String Time,String Title) {
        SQLiteDatabase db = Helper.getReadableDatabase();
        Cursor c = db.rawQuery("select * from TimeAxis where Time=? and Title=?", new String[]{Time,Title});
        boolean b = c.moveToNext();
        c.close();
        db.close();
        return b;
    }


    public int TimeAxisSum(String Time) {
        SQLiteDatabase db = Helper.getReadableDatabase();
        Cursor c = db.rawQuery("select * from TimeAxis where Time=?", new String[]{Time});
        int i = c.getCount();
        c.close();
        db.close();
        return i;
    }


    public int TimeSum() {
        SQLiteDatabase db = Helper.getReadableDatabase();
        Cursor c = db.rawQuery("select * from Time", null);
        int i = c.getCount();
        c.close();
        db.close();
        return i;
    }
}
發佈了42 篇原創文章 · 獲贊 1 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章