1. 程式人生 > >【Android】SQLite資料庫的簡單使用

【Android】SQLite資料庫的簡單使用

建立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();