android:SQlite

Claire_ljy發表於2020-04-04

 

建立資料庫:

class CreateListener implements OnClickListener{
@Override
public void onClick(View v) {
//建立一個DatabaseHelper物件
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,"test_mars_db");
//只有呼叫了DatabaseHelper物件的getReadableDatabase()方法,或者是getWritableDatabase()方法之後,才會建立,或開啟一個資料庫
SQLiteDatabase db = dbHelper.getReadableDatabase();
}
}

更新資料庫

class UpdateListener implements OnClickListener{

@Override
public void onClick(View v) {
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,"test_mars_db",2);
SQLiteDatabase db = dbHelper.getReadableDatabase();
}

}

資料庫插入操作
class InsertListener implements OnClickListener{

@Override
public void onClick(View v) {
//生成ContentValues物件
ContentValues values = new ContentValues();
//想該物件當中插入鍵值對,其中鍵是列名,值是希望插入到這一列的值,值必須和資料庫當中的資料型別一致
values.put("id", 1);
values.put("name","zhangsan");
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,"test_mars_db",2);
SQLiteDatabase db = dbHelper.getWritableDatabase();
//呼叫insert方法,就可以將資料插入到資料庫當中
db.insert("user", null, values);
}
}

資料庫更新操作


//更新操作就相當於執行SQL語句當中的update語句
//UPDATE table_name SET XXCOL=XXX WHERE XXCOL=XX...
class UpdateRecordListener implements OnClickListener{

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//得到一個可寫的SQLiteDatabase物件
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,"test_mars_db");
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", "zhangsanfeng");
//第一個引數是要更新的表名
//第二個引數是一個ContentValeus物件
//第三個引數是where子句
db.update("user", values, "id=?", new String[]{"1"});
}
}

資料庫查詢操作


class QueryListener implements OnClickListener{

@Override
public void onClick(View v) {
System.out.println("aaa------------------");
Log.d("myDebug", "myFirstDebugMsg");

DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,"test_mars_db");
SQLiteDatabase db = dbHelper.getReadableDatabase();
Cursor cursor = db.query("user", new String[]{"id","name"}, "id=?", new String[]{"1"}, null, null, null);
while(cursor.moveToNext()){
String name = cursor.getString(cursor.getColumnIndex("name"));
System.out.println("query--->" + name);
}
}
}

 

資料庫類

package mars.sqlite3.db;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;

//DatabaseHelper作為一個訪問SQLite的助手類,提供兩個方面的功能,
//第一,getReadableDatabase(),getWritableDatabase()可以獲得SQLiteDatabse物件,通過該物件可以對資料庫進行操作
//第二,提供了onCreate()和onUpgrade()兩個回撥函式,允許我們在建立和升級資料庫時,進行自己的操作

public class DatabaseHelper extends SQLiteOpenHelper {

private static final int VERSION = 1;
//在SQLiteOepnHelper的子類當中,必須有該建構函式
public DatabaseHelper(Context context, String name, CursorFactory factory,
int version) {
//必須通過super呼叫父類當中的建構函式
super(context, name, factory, version);
// TODO Auto-generated constructor stub
}
public DatabaseHelper(Context context,String name){
this(context,name,VERSION);
}
public DatabaseHelper(Context context,String name,int version){
this(context, name,null,version);
}

//該函式是在第一次建立資料庫的時候執行,實際上是在第一次得到SQLiteDatabse物件的時候,才會呼叫這個方法
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
System.out.println("create a Database");
//execSQL函式用於執行SQL語句
db.execSQL("create table user(id int,name varchar(20))");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
System.out.println("update a Database");
}

刪除操作:

public void delete(){

DatabaseHelper databasehelper = new DatabaseHelper(Set_Music.this,"list_playr_db");
SQLiteDatabase db = databasehelper.getWritableDatabase();

db.delete("user", "name=?", new String[]{str});

}

}

轉載於:https://www.cnblogs.com/nuistlr/archive/2012/08/31/2665566.html

相關文章