Android开发学习之SQLite数据库初探

          在前面的一篇文章中,我给大家介绍了SQLite这样一个开源、免费的数据库,并给出了C#ADO.Net模式下的代码。其实,不只是在C#中可以使用SQLite,在Android中同样提供了SQLite并作为整个系统的数据库供大家使用,考虑到数据库在实际开发中的重要性,所以,我们今天就来学习Android中SQLite的用法。数据库的操作无外乎增加、删除、修改、更新四种操作。在Android中,我们可以使用原生的SQL和Android封装好的接口对SQLite进行操作,我们选择后一种,使用Android封装好的接口,要使用该接口,我们必须继承一个称为SQLiteOpenHelper的辅助类。下面我们来看代码:

package com.Android.SQLiteHelper;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DataBaseHelper extends SQLiteOpenHelper
{
	//数据库名
    private final static String DataBaseName="Students.db";
    //数据表名
    private final static String DataTableName="Student";
    //创建数据表SQL语句
    private final static String CreateTable="CREATE TABLE Student(id integer primary key autoincrement,name text,age text,sex text)";
    //构造函数
	public DataBaseHelper(Context c) 
	{
		super(c, DataBaseName, null, 1);
	}
    //创建数据表
	@Override
	public void onCreate(SQLiteDatabase db) 
	{
		db.execSQL(CreateTable);
	}
	//插入数据
	public void Insert(ContentValues values)
	{
		SQLiteDatabase db = getWritableDatabase();
		db.insert(DataTableName, null, values);
		db.close();
	}
	//请求数据,参数依次为数据表名,待查询关键字,查询表达式,查询表达式值,排序字段
	//这个方法用起来还有点问题,暂时注释掉,等解决了再告诉大家
	//public Cursor Query(String TableName,String[] KeyWords,String Express,String[] ExpressArgs,String OrderBy)
	public Cursor Query()
	{		
		SQLiteDatabase db = getWritableDatabase();
		Cursor c = db.query(DataTableName, null, null, null, null, null, null);
		return c;
	}
	//删除数据
	public void Delete(String TableName,String Express,String[] ExpressArgs)
	{
		SQLiteDatabase db = getWritableDatabase();
		db.delete(TableName, Express, ExpressArgs);
		db.close();
	}
	//使用原生的SQL
	public void ExecSQL(String SQLString)
	{
		SQLiteDatabase db = getWritableDatabase();
		db.execSQL(SQLString);
	}
    //更新数据库
	@Override
	public void onUpgrade(SQLiteDatabase db, int Last, int Now) 
	{
		//暂时不用,所以不写,如果需要,就是删除旧表,创建新表的过程
	}

}


你可能感兴趣的:(Android开发)