android:SQlite
?
創(chuàng)建數(shù)據(jù)庫:
class CreateListener implements OnClickListener{
@Override
public void onClick(View v) {
//創(chuàng)建一個(gè)DatabaseHelper對象
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,"test_mars_db");
//只有調(diào)用了DatabaseHelper對象的getReadableDatabase()方法,或者是getWritableDatabase()方法之后,才會創(chuàng)建,或打開一個(gè)數(shù)據(jù)庫
SQLiteDatabase db = dbHelper.getReadableDatabase();
}
}
更新數(shù)據(jù)庫
class UpdateListener implements OnClickListener{
@Override
public void onClick(View v) {
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,"test_mars_db",2);
SQLiteDatabase db = dbHelper.getReadableDatabase();
}
}
數(shù)據(jù)庫插入操作
class InsertListener implements OnClickListener{
@Override
public void onClick(View v) {
//生成ContentValues對象
ContentValues values = new ContentValues();
//想該對象當(dāng)中插入鍵值對,其中鍵是列名,值是希望插入到這一列的值,值必須和數(shù)據(jù)庫當(dāng)中的數(shù)據(jù)類型一致
values.put("id", 1);
values.put("name","zhangsan");
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,"test_mars_db",2);
SQLiteDatabase db = dbHelper.getWritableDatabase();
//調(diào)用insert方法,就可以將數(shù)據(jù)插入到數(shù)據(jù)庫當(dāng)中
db.insert("user", null, values);
}
}
數(shù)據(jù)庫更新操作
//更新操作就相當(dāng)于執(zhí)行SQL語句當(dāng)中的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
//得到一個(gè)可寫的SQLiteDatabase對象
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this,"test_mars_db");
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", "zhangsanfeng");
//第一個(gè)參數(shù)是要更新的表名
//第二個(gè)參數(shù)是一個(gè)ContentValeus對象
//第三個(gè)參數(shù)是where子句
db.update("user", values, "id=?", new String[]{"1"});
}
}
數(shù)據(jù)庫查詢操作
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);
}
}
}
、
?
數(shù)據(jù)庫類
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作為一個(gè)訪問SQLite的助手類,提供兩個(gè)方面的功能,
//第一,getReadableDatabase(),getWritableDatabase()可以獲得SQLiteDatabse對象,通過該對象可以對數(shù)據(jù)庫進(jìn)行操作
//第二,提供了onCreate()和onUpgrade()兩個(gè)回調(diào)函數(shù),允許我們在創(chuàng)建和升級數(shù)據(jù)庫時(shí),進(jìn)行自己的操作
public class DatabaseHelper extends SQLiteOpenHelper {
private static final int VERSION = 1;
//在SQLiteOepnHelper的子類當(dāng)中,必須有該構(gòu)造函數(shù)
public DatabaseHelper(Context context, String name, CursorFactory factory,
int version) {
//必須通過super調(diào)用父類當(dāng)中的構(gòu)造函數(shù)
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);
}
//該函數(shù)是在第一次創(chuàng)建數(shù)據(jù)庫的時(shí)候執(zhí)行,實(shí)際上是在第一次得到SQLiteDatabse對象的時(shí)候,才會調(diào)用這個(gè)方法
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
System.out.println("create a Database");
//execSQL函數(shù)用于執(zhí)行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});
}
}
轉(zhuǎn)載于:https://www.cnblogs.com/nuistlr/archive/2012/08/31/2665566.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的android:SQlite的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 越狱插件推荐:来电归属地KuaiDial
- 下一篇: 中科创达发布大模型进展 联合亚马逊云科技