package com.yarin.android.Examples_06_06;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class MyDataBaseAdapter
{
// ���ڴ�ӡlog
private static final String TAG = "MyDataBaseAdapter";
// ����һ�����ݵ�����
public static final String KEY_ID = "_id";
// ����һ�����ݵ�����
public static final String KEY_NUM = "num";
// ����һ�����ݵ�id
public static final String KEY_DATA = "data";
// ���ݿ�����Ϊdata
private static final String DB_NAME = "Examples_06_06.db";
// ���ݿ����
private static final String DB_TABLE = "table1";
// ���ݿ�汾
private static final int DB_VERSION = 1;
// ����Context����
private Context mContext = null;
//����һ����
private static final String DB_CREATE = "CREATE TABLE " + DB_TABLE + " (" + KEY_ID + " INTEGER PRIMARY KEY," + KEY_NUM + " INTERGER,"+ KEY_DATA + " TEXT)";
// ִ��open���������ݿ�ʱ�����淵�ص����ݿ����
private SQLiteDatabase mSQLiteDatabase = null;
// ��SQLiteOpenHelper�̳й���
private DatabaseHelper mDatabaseHelper = null;
private static class DatabaseHelper extends SQLiteOpenHelper
{
/* ���캯��-����һ�����ݿ� */
DatabaseHelper(Context context)
{
//������getWritableDatabase()
//�� getReadableDatabase()����ʱ
//��һ�����ݿ�
super(context, DB_NAME, null, DB_VERSION);
}
/* ����һ���� */
@Override
public void onCreate(SQLiteDatabase db)
{
// ���ݿ�û�б�ʱ����һ��
db.execSQL(DB_CREATE);
}
/* �������ݿ� */
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
db.execSQL("DROP TABLE IF EXISTS notes");
onCreate(db);
}
}
/* ���캯��-ȡ��Context */
public MyDataBaseAdapter(Context context)
{
mContext = context;
}
// �����ݿ⣬�������ݿ����
public void open() throws SQLException
{
mDatabaseHelper = new DatabaseHelper(mContext);
mSQLiteDatabase = mDatabaseHelper.getWritableDatabase();
}
// �ر����ݿ�
public void close()
{
mDatabaseHelper.close();
}
/* ����һ������ */
public long insertData(int num, String data)
{
ContentValues initialValues = new ContentValues();
initialValues.put(KEY_NUM, num);
initialValues.put(KEY_DATA, data);
return mSQLiteDatabase.insert(DB_TABLE, KEY_ID, initialValues);
}
/* ɾ��һ������ */
public boolean deleteData(long rowId)
{
return mSQLiteDatabase.delete(DB_TABLE, KEY_ID + "=" + rowId, null) > 0;
}
/* ͨ��Cursor��ѯ�������� */
public Cursor fetchAllData()
{
return mSQLiteDatabase.query(DB_TABLE, new String[] { KEY_ID, KEY_NUM, KEY_DATA }, null, null, null, null, null);
}
/* ��ѯָ������ */
public Cursor fetchData(long rowId) throws SQLException
{
Cursor mCursor =
mSQLiteDatabase.query(true, DB_TABLE, new String[] { KEY_ID, KEY_NUM, KEY_DATA }, KEY_ID + "=" + rowId, null, null, null, null, null);
if (mCursor != null)
{
mCursor.moveToFirst();
}
return mCursor;
}
/* ����һ������ */
public boolean updateData(long rowId, int num, String data)
{
ContentValues args = new ContentValues();
args.put(KEY_NUM, num);
args.put(KEY_DATA, data);
return mSQLiteDatabase.update(DB_TABLE, args, KEY_ID + "=" + rowId, null) > 0;
}
}