ในระบบปฎิบัติการ Android นั้นจะมีฐานข้อมูล SQLite ติดมากับระบบปฎิบัติการ แล้ว หากเราต้องการพัฒนา Application ที่มีการใช้งานฐานข้อมูล เราสามารถเขียนโปรแกรมเพื่อใช้ SQLite บนระบบบปฎิบัติการ Android ได้ดังนี้
//สร้าง class ชื่อว่า DbSQLite โดยสืบทอดมาจาก SQLiteOpenHelper
public class DbSQLite extends SQLiteOpenHelper
{
private String dbName="";//property ชื่อ database
private String sql="";//คำสั่ง sql ที่ต้องการให้ทำงาน
//สร้าง constructor ให้กับ class
public DbSQLite(Context context, String dbName, SQLiteDatabase.CursorFactory factory, int version,String sql)
{
super(context,dbName,factory,version);
this.dbName = dbName;//กำหนด database name ให้กับ object
this.sql=sql;//กำหนด คำสั่ง sql ที่ต้องการให้ทำงาน
}
//Method สำหรับ รันคำสั่ง sql select โดยจะ return เป็น array 2 มิติตามคำสั่ง sql ที่ส่งมา
public String[][] get_table()
{
SQLiteDatabase myDb=this.getReadableDatabase();
Cursor c=myDb.rawQuery(this.sql, null);
String re_str[][]=new String[0][0];
if(c!=null)
{
int row_count=0;
re_str=new String[c.getCount()][c.getColumnCount()];
if(c.moveToFirst()){
//สร้าง array 2 มิติ จากคำสั่ง sql เพื่อส่งค่ากลับ
do{
int i;
for(i=0;i<c.getColumnCount();i++) //วน loop Column ที่ได้จากคำสั่ง sql
{
re_str[row_count][i]=c.getString(i);
}
row_count++;
}while(c.moveToNext()); //วน loop แถวข้อมูล ที่ได้จากคำสั่ง sql
}
}
c.close();
myDb.close();
return re_str;
}
@Override
public void onCreate(SQLiteDatabase db) {
}
//Method สำหรับ รันสำสั่ง create table,insert, delete, update
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
db.execSQL(this.sql);
}
}
ตัวอย่างการใช้งาน Class DbSQLite
การสร้างตาราง
//สร้างคำสั่ง sql ที่ต้องการ
String sql="CREATE TABLE IF NOT EXISTS user" +
"(" +
"user_id integer primary key autoincrement," +
"username text," +
"password text"+
")";
SQLiteDatabase sqlite;
//ส่งคำสั่ง sql ให้ sqlite โดย class DbSQLite
DbSQLite db = new DbSQLite(this," ชื่อ Database ",null,1,sql);
sqlite = db.getWritableDatabase();
db.onUpgrade(sqlite,1,1);//ให้ sqlite ทำงานตามคำสั่ง sql ที่ส่งไป
การอ่านข้อมูลจากตาราง
//สร้างคำสั่ง SQL
String sql="SELECT * FROM user ";
//สร้าง object จาก class DbSQLite เพื่ออ่านข้อมูลจาก Database และ ส่ง คำสั่ง SQL ให้ SQL Lite
DbSQLite db = new DbSQLite(this,"MyDressMakerShop",null,1,sql);
String[][] user =db.get_table();//รับผลลัพธ์เป็น Array 2 มิติ ตามคำสั่ง sql