Presentation is loading. Please wait.

Presentation is loading. Please wait.

SQLite資料庫 靜宜大學資管系 楊子青.

Similar presentations


Presentation on theme: "SQLite資料庫 靜宜大學資管系 楊子青."— Presentation transcript:

1 SQLite資料庫 靜宜大學資管系 楊子青

2 SQLite Android系統內建的資料庫 開放的小型資料庫,與一般商用的大型資料庫有類似的架構與用法
儲存資料的數量是根據裝置的儲存空間所決定 可以使用SQL執行需要的工作

3 1. 資料庫、資料表、資料欄位 資料庫(Database)是應用程式儲存與管理資料的單位 每一種在資料庫中的資料稱為資料表(Table)
應用程式可能需要儲存很多不同的資料,例如購物網的資料庫,包括會員、商品和訂單資料 每一種在資料庫中的資料稱為資料表(Table) 例如會員資料表可以儲存所有的會員資料 資料表用來儲存每一筆記錄的欄位(Column)

4 建立資料庫:openOrCreateDatabase()
建立資料表:CREATE TABLE()

5 用execSQL()執行"CREATE TABLE"
用 insert() 方法及 ContentValues 物件新增資料

6 建立一個新專案:SQLite onClick呼叫ReadData onClick呼叫SaveData

7 程式碼:變數宣告及初始設定 public class MainActivity extends AppCompatActivity {
EditText u, s; TextView h; String db_name = "Game"; String tb_name = "UserScore"; SQLiteDatabase db; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); u = (EditText) findViewById(R.id.user); s = (EditText) findViewById(R.id.score); h = (TextView) findViewById(R.id.hero); }

8 程式碼:存入資料庫 public void SaveData(View v){
db = openOrCreateDatabase(db_name, Context.MODE_PRIVATE, null); String createTable = "CREATE TABLE IF NOT EXISTS " + tb_name + "(user TEXT, score INT)"; db.execSQL(createTable); ContentValues cv = new ContentValues(2); cv.put("user", u.getText().toString()); cv.put("score", Integer.valueOf(s.getText().toString())); db.insert(tb_name, null, cv); Toast.makeText(this, "資料貯存成功", Toast.LENGTH_SHORT).show(); db.close(); }

9 程式碼:讀取資料庫 public void ReadData(View v){
db = openOrCreateDatabase(db_name, Context.MODE_PRIVATE, null); Cursor c = db.rawQuery("Select * from " + tb_name + " order by score DESC", null); String hero = ""; if (c.getCount() != 0){ c.moveToFirst(); do{ hero += "score:" + Integer.toString(c.getInt(1)); hero += "; name:" + c.getString(0) + "\n"; } while(c.moveToNext()); } h.setText(hero); db.close();

10 執行結果 存放多筆 資料看看


Download ppt "SQLite資料庫 靜宜大學資管系 楊子青."

Similar presentations


Ads by Google