android SQLite增,刪,改,查

創建數據庫

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

/**
 * 通過getReadableDatabase()和getWritableDatabase()可以獲得數據庫對象。
 
* 提供onCreate()-創建數據庫時,onUpgrade()-升級數據庫時,兩個回調函數。
 */

public class DatabaseHelper extends SQLiteOpenHelper {
// 按要求必須要有構造函數
public DatabaseHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
}
// 當第一次得到SQLiteDatabase對象時,調用該方法
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "create table MSG(id int,body varchar(100))";
db.execSQL(sql);
System.out.println("創建了一個數據庫!");
}
// 當更新數據庫時執行該方法
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
System.out.println("更新了數據庫!");
// 還可以寫其他的操作
}
}


增加一條記錄

生成ContentValues對象,key:列名,value:想插入的值  
                ContentValues values = new ContentValues();  
                values.put("id", 1);  
                values.put("body", "hello");  
                DatabaseHelper dbhelper = new DatabaseHelper(SqliteActivity.this, "text_msg", null, 2);  
                //得到可寫的SQLiteDatabase對象  
                SQLiteDatabase db = dbhelper.getWritableDatabase();  
                //調用insert方法,將數據插入數據庫  
                //參數1:表名  
                //參數2:如果你想插入空值,那麼你必須指定它的所在的列  
                db.insert("MSG", null, values);  
                System.out.println("插入了:1, hello");

修改一條記錄:

ContentValues values = new ContentValues();  
                values.put("body", "my dear!");  
                DatabaseHelper dbhelper = new DatabaseHelper(SqliteActivity.this, "text_msg", null, 2);  
                //得到可寫的SQLiteDatabase對象  
                SQLiteDatabase db = dbhelper.getWritableDatabase();  
                //調用insert方法,將數據插入數據庫  
                //參數3:where 子句 "?"是佔位符號,對應後面的"1",這和web開發時的語法是一樣的  
                db.update("MSG", values, "id=?", new String[]{"1"});  
                System.out.println("更新了:hello-->my dear!"); 


刪除一條記錄

DatabaseHelper dbhelper = new DatabaseHelper(SqliteActivity.this, "text_msg", null, 2);  
                //得到可寫的SQLiteDatabase對象  
                SQLiteDatabase db = dbhelper.getWritableDatabase();  
                //調用delete方法,刪除數據  
                db.delete("MSG", "id=?", new String[]{"1"});  
                System.out.println("刪除了:id=1");  

查詢記錄:

DatabaseHelper dbhelper = new DatabaseHelper(SqliteActivity.this, "text_msg", null, 2);  
                //得到可讀的SQLiteDatabase對象  
                SQLiteDatabase db = dbhelper.getReadableDatabase();  
                //參數1:表名  
                //參數2:要想顯示的列  
                //參數3:where子句  
                //參數4:where子句對應的條件值  
                //參數5:分組方式  
                //參數6:having條件  
                //參數7:排序方式  
                Cursor cursor = db.query("MSG", new String[]{"id","body"}, "id=?", new String[]{"1"}, null, null, null);  
                System.out.println("查到的數據爲:");  
                while(cursor.moveToNext()){  
                        int id = cursor.getInt(cursor.getColumnIndex("id"));  
                        String name = cursor.getString(cursor.getColumnIndex("body"));  
                        System.out.println("-->"+id+"::::::::::"+name);  
                    }  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章