Android开发之初级开发_数据库操作之系统API实现

//与SQL语句实现不同的地方:

只需修改student.java代码即可:

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

import com.hql.sqlite.StudentOpenhelper;
import com.hql.sqlite.domain.StudentInfo;

public class Student
{
    private StudentOpenhelper helper;

    public Student(Context context)
    {
        helper = new StudentOpenhelper(context);
    }

    /**
     * 添加一条记录
     * 
     * @param name
     * @param number
     */
    public long add(String name, String number)
    {
        SQLiteDatabase db = helper.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put("name", name);
        values.put("number", number);
        long id = db.insert("student", null, values);
        db.close();
        return id;
    }

    /**
     * 查看
     * 
     * @param name
     * @return
     */
    public boolean find(String name)
    {
        SQLiteDatabase db = helper.getReadableDatabase();
        Cursor cursor = db.query("student", null, "name=?", new String[]
        { name }, null, null, null);
        boolean result = cursor.moveToNext();
        cursor.close();
        db.close();
        return result;
    }

    /**
     * 更新记录
     * 
     * @param name
     * @param newnumber
     * @return
     */
    public int update(String name, String newnumber)
    {
        SQLiteDatabase db = helper.getWritableDatabase();
        ContentValues values = new ContentValues();
        int number = db.update("student", values, "name=?", new String[]
        { name });
        db.close();
        return number;
    }

    /**
     * 删除记录
     * 
     * @param name
     * @return
     */
    public int delete(String name)
    {
        SQLiteDatabase db = helper.getWritableDatabase();
        int delete = db.delete("student", "name=?", new String[]
        { name });
        db.close();
        return delete;
    }

    /**
     * 查询所有记录
     * 
     * @return
     */
    public List<StudentInfo> findAll()
    {
        List<StudentInfo> infos = new ArrayList<StudentInfo>();
        SQLiteDatabase db = helper.getWritableDatabase();
        Cursor cursor = db.query(true, "student", new String[]
        { "id", "name", "number" }, null, null, null, null, null, null);
        while (cursor.moveToNext())
        {
            int id = cursor.getInt(cursor.getColumnIndex("id"));
            String name = cursor.getString(cursor.getColumnIndex("name"));
            String number = cursor.getString(cursor.getColumnIndex("number"));
            StudentInfo info = new StudentInfo(id, name, number);
            infos.add(info);
        }
        cursor.close();
        db.close();
        return infos;
    }
}

 

posted @ 2014-05-13 10:58  loneliness__白色  阅读(103)  评论(0)    收藏  举报