【Android】SQLite資料庫的簡單使用
阿新 • • 發佈:2019-01-02
建立WFDBHelper類,該類繼承於SQLiteOpenHelper類,改寫onCreate方法。
package com.liu_weifeng.wf; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class WFDBHelper extends SQLiteOpenHelper { public WFDBHelper(Context context){ super(context,"WF.db",null,2); } //資料庫第一次建立時呼叫該方法 public void onCreate(SQLiteDatabase db){ //建立使用者資訊表userInformation,該表包含每個使用者的基本資訊 db.execSQL("CREATE TABLE userInformation (Account VARCHAR(11) PRIMARY KEY,Password VARCHAR(10),Nickname VARCHAR(15),Sex VARCHAR(2),Signature VARCHAR(50),Head VARCHAR(10))"); //userInformation新增記錄 db.execSQL("INSERT INTO userInformation(Account,Password,Nickname,Sex,Signature,Head) VALUES (?,?,?,?,?,?)", new Object[]{"1875","123456_","劉","男","Hello,World!","head_1"); } //當資料庫的版本號增加時呼叫 public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion){ } }
對資料庫的簡單操作
對錶的查詢:
WFDBHelper helper=new WFDBHelper(this); db = helper.getReadableDatabase(); Cursor cursor = db.rawQuery("SELECT * FROM userInformation WHERE Account=?", new String[]{"1875"}); cursor.moveToFirst(); //讀取性別 String sex=cursor.getString(3); //從0計,第三列為Sex String sex1=cursor.getString(cursor.getColumnIndex("Sex")); //或使用getColumnIndex()方法 /* cursor.getColumnIndex("Sex"); //獲取Sex列為第幾列 cursor.getColumnCount(); //獲取cursor中的總列數 cursor.getColumnName(i); //獲取cursor中第i列的列名 cursor.isNull(i); //判斷第i列是否為空 cursor.getCount(); //獲取cursor中的總行數 */ cursor.close(); db.close();
對錶的增,刪,改:
WFDBHelper helper=new WFDBHelper(this); SQLiteDatabase db=helper.getWriteableDaatabase(); //增加一條記錄 db.execSQL("INSERT INTO userInformation (Account,Password,Nickname,Sex,Signature,Head) VALUES (?,?,?,?,?,?)", new Object[]{"1876","123456_","劉","男","Hello,World!","head_2"}); //在userInformation表的結尾增加名為Message的列 db.execSQL("ALTER TABLE userInformation ADD Message VARCHAR(11)"); //修改一條記錄 db.execSQL("UPDATE userInformation SET Nickname=? WHERE Account=?", new String[]{nickname, currentUserAccount}); //刪除一條記錄 db.execSQL("DELETE FROM userInformation WHERE Account=1875"); db.close();