首先新增一個Class,名稱訂為DbHelper
package com.example.myapplication;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DbHelper extends SQLiteOpenHelper {
public static final int DATABASE_VERSION = 1; //資料庫版本
public static final String DATABASE_NAME = "dataBase.db"; //資料庫名稱
public static final String TABLE_NAME="tableName"; //資料表名稱
public DbHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
//新增資料表動作
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE "+TABLE_NAME+" (chnl varchar(10),progdate varchar(10),playdate varchar(10),playtime varchar(5),progname varchar(50))");
}
//資料庫升級動作,目前資料庫版本號碼和程式上定義的不同時,就會觸發升級動作
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS "+ TABLE_NAME);
onCreate(db);
}
在MainActivity.java中加入
//新增資料進資料庫
public void addDb(String chnl,String progdate,String playdate,String playtime,String progname){
SQLiteDatabase db =dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("chnl", chnl);
values.put("progdate",progdate);
values.put("playdate",playdate);
values.put("playtime",playtime);
values.put("progname",progname);
//第一個值為table名稱,第二個值為當insert值為空時,會由null值取代,因為不允許值為空白,第三個值為新增的值
db.insert("progPlay", null, values);
}
//刪除資料
public void delDb() {
SQLiteDatabase db =dbHelper.getWritableDatabase();
//第一個值為資料表名稱,第二個值為條件,如果設為?號,可由第三個值裡的陣列值來套用
db.delete("progPlay","chnl=?",new String[] { "001" });
}
//取出資料庫裡的資料
public void viewDataBase(String chnl){
Cursor cursor=dbHelper.getReadableDatabase().rawQuery("select * from progPlay where chnl='"+chnl+"'",null);
String[] sNote = new String[cursor.getCount()];
int rows_num = cursor.getCount();//取得資料表列數
if(rows_num != 0) {
cursor.moveToFirst(); //將指標移至第一筆資料
for(int i=0; i<rows_num; i++) {
sNote[i]=cursor.getString(0)+" "+cursor.getString(1);
cursor.moveToNext();//將指標移至下一筆資料
}
}
cursor.close(); //關閉Cursor
}
SQLite使用上須注意幾點,SQLite沒有日期格式,日期只能以字串的方式存入,如果要篩選某個日期時可用where datetime('日期欄位名稱')=datetime('2013-08-01'),要注意日期的格式"2013-8-1"不等於"2013-08-01",在使用上要注意
沒有留言:
張貼留言