lobiner 關於android中的sqlite資料庫操作
阿新 • • 發佈:2019-02-11
public class MyHelper extends SQLiteOpenHelper { // 構造 version資料版本,是從1開始 public MyHelper(Context context) { super(context, "day02.db", null, 1); } // 建立時呼叫,----建立表格 @Override public void onCreate(SQLiteDatabase db) { String sql = "create table user(id integer primary key autoincrement,userName text,userAge text)"; db.execSQL(sql); } // 資料庫升級時呼叫 @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // 新增sex欄位 db.execSQL("alter table user add column sex text"); } } 然後是增刪改查的方法: // 點選事件 @Override public void onClick(View v) { switch (v.getId()) { case R.id.add: // 增加 String name1 = name.getText().toString(); String age1 = age.getText().toString(); /** * 1.開啟資料庫 2.放資料 3.關閉 */ SQLiteDatabase database = myHelper.getReadableDatabase(); database.execSQL("insert into user(userName,userAge)values(?,?)", new String[] { name1, age1 }); database.close(); break; // 刪除 case R.id.dele: String name2 = name.getText().toString(); SQLiteDatabase database1 = myHelper.getReadableDatabase(); String dele_sql = "delete from user where userName=?"; database1.execSQL(dele_sql, new String[] { name2 }); database1.close(); break; case R.id.modify: // 修改 String name3 = name.getText().toString(); String age3 = age.getText().toString(); SQLiteDatabase database2 = myHelper.getReadableDatabase(); String modify_sql = "update user set userAge=? where userName=?"; database2.execSQL(modify_sql, new String[] { age3, name3 }); database2.close(); break; // 查詢資料,根據名字查詢資料 case R.id.query: String name4 = name.getText().toString(); SQLiteDatabase database3 = myHelper.getReadableDatabase(); String query_sql = "select * from user";// 全查 // database2.execSQL(modify_sql, new String[]{age3,name3}); Cursor cursor = database3.rawQuery(query_sql, null); // 檢視資料 if (cursor != null && cursor.getCount() > 0) { // 取出資料 while (cursor.moveToNext()) { // raw // String age = // cursor.getString(columnIndex);columnIndex欄位的索引 String name = cursor.getString(cursor .getColumnIndex("userName")); String age = cursor.getString(cursor .getColumnIndex("userAge"));// columnName欄位的名字 System.out.println("name--" + name + "--age--" + age); } } else { Toast.makeText(MainActivity.this, "無資料", 0).show(); } database3.close(); break; default: break; }