1. 程式人生 > >lobiner 關於android中的sqlite資料庫操作

lobiner 關於android中的sqlite資料庫操作

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;
}