日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android sqlite 类使用,Android SQLite编程详解(不使用SQLiteOpenHelper类)

發布時間:2025/3/19 Android 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android sqlite 类使用,Android SQLite编程详解(不使用SQLiteOpenHelper类) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據庫功能非常強大,使用起來也非常方便,SQLite數據庫的一般操作包括:創建數據庫、打開數據庫、創建表、向表中添加數據、從表中刪除數據、修改表中的數據、關閉數據庫、刪除指定表、刪除數據庫和查詢表中的某條數據。下面我們分別來學習這些基本操作。

1.創建和打開數據庫

在Android 中創建和打開一個數據庫都可以使用openOrCreateDatabase 方法來實現,因為它會自動去檢測是否存在這個數據庫,如果存在則打開,不過不存在則創建一個數據庫;創建成功則返回一個 SQLiteDatabase對象,否則拋出異常FileNotFoundException。下面我們來創建一個名為”Examples_06_05.db”的數據庫,并返回一個SQLiteDatabase對象 mSQLiteDatabase。

mSQLiteDatabase = this.openOrCreateDatabase("Example_06_05.db", MODE_PRIVATE, null);

2.創建表

一個數據庫中可以包含多個表,我們的每一條數據都保存在一個指定的表中,要創建表可以通過execSQL 方法來執行一條SQL語句。execSQL能夠執行大部分的SQL語句,下面我們來創建一個名為table1 且包含3個字段的表。 具體代碼如下:

String CREATE_TABLE = "CREATE TABLE table1 (_id INTEGER PRIMARY KEY, num INTEGER, data TEXT)";

mSQLiteDatabase.execSQL(CREATE_TABLE);

3.向表中添加一條數據

可以使用insert 方法來添加數據,但是 insert 方法要求把數據都打包到 ContentValues 中, ContentValues 其實就是一個Map, key值是字段名稱, Value值是字段的值。通過 ContentValues 的 put 方法就可以把數據放到ContentValues中,然后插入到表中去。具體實現如下:

ContentValues cv = new ContentValues();

cv.put(TABLE_NUM, 1);

cv.put(TABLE_DATA, "測試數據");

mSQLiteDatabase.insert(TABLE_NAME, null, cv);

//這樣同樣可以使用execSQL方法來執行一條“插入”的SQL語句,代碼如下:

String INSERT_DATA = "INSERT INTO table1 (_id, num, data) values (1, 1, '通過SQL語句插入')" ;

mSQLiteDatabase.execSQL(INSERT_DATA);

4.從表中刪除數據

要刪除數據可以使用delete 方法,下面我們刪除字段 “_id” 等于1的數據,具體代碼如下:

mSQLiteDatabase.delete("Examples_06_05.db", " where_id="+0, null);

通過 execSQL方法執行SQL語句刪除數據如下:

String DELETE_DATA = "DELETE FROM table1 WHERE _id=1";

mSQLiteDatabase.execSQL(DELETE_DATA);

5.修改表中的數據

如果添加了數據后發現數據有誤,這時需要修改這個數據,可以使用updata方法來更新一條數據。下面我們來修改 “num” 值為0的數據,具體代碼如下:

ContentValues cv = new ContentValues();

cv.put(TABLE_NUM, 3);

cv.put(TABLE_DATA, "修改后的數據");

mSQLiteDatabase.update("table1" cv, "num " + "=" + Integer.toString(0), null);

6.關閉數據庫

關閉數據庫很重要,也是大家經常容易忘記的。關閉的方法很簡單,直接使用SQLiteDatabase 的 close 方法。具體代碼如下:

mSQLiteDatabase.close();

7.刪除指定表

這里我們使用execSQL方法來實現,具體代碼如下:

mSQLiteDatabase.execSQL("DROP TABLE table1");

8.刪除數據庫

要刪除一個數據庫,直接使用deleteDatabase 方法即可,具體代碼如下:

this.deleteDatabase("Examples_06_05.db");

9.查詢表中的某條數據

在Android中查詢數據是通過Cursor類來實現的,當我們使用SQLiteDatabase.query()方法時,會得到一個Cursor對象,Cursor指向的就是每一條數據。它提供了很多有關查詢的方法,具體方法如下:

方法 說明

move 以當前的位置為參考,將Cursor移動到指定的位置,成功返回true, 失敗返回false

moveToPosition 將Cursor移動到指定的位置,成功返回true,失敗返回false

moveToNext 將Cursor向前移動一個位置,成功返回true,失敗返回false

moveToLast 將Cursor向后移動一個位置,成功返回true,失敗返回 false。

movetoFirst 將Cursor移動到第一行,成功返回true,失敗返回false

isBeforeFirst 返回Cursor是否指向第一項數據之前

isAfterLast 返回Cursor是否指向最后一項數據之后

isClosed 返回Cursor是否關閉

isFirst 返回Cursor是否指向第一項數據

isLast 返回Cursor是否指向最后一項數據

isNull 返回指定位置的值是否為null

getCount 返回總的數據項數

getInt 返回當前行中指定的索引數據

下面我們就是用Cursor來查詢數據庫中的數據,具體代碼如下:

Cursor cur = mSQLiteDatabase.rawQuery("SELECT * FROM table", null);

if( cur != null ){

if( cur.moveToFirst() ){

do{

int numColumn = cur.getColumnIndex("num");

int num = cur.getInt(numColumn);

}while( cur.moveToNext());

}

}

總結

以上是生活随笔為你收集整理的android sqlite 类使用,Android SQLite编程详解(不使用SQLiteOpenHelper类)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。