您的位置:首页 > 移动开发 > Android开发

android SQLite数据库的增删改查

2015-08-25 16:21 501 查看
先定义一个数据库帮助类

package com.cwj.sqlite825;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class PersonSQLiteOpenHelper extends SQLiteOpenHelper {

public PersonSQLiteOpenHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
}

//第一次创建数据库时调用的方法
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("create table person (id integer primary key autoincrement ,name varchar(20),number varchar(20))");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub

}

}
写一个dao接口实现增删改查的功能,具体如下
package com.cwj.sqlite825.dao;

import java.util.ArrayList;
import java.util.List;

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

import com.cwj.sqlite825.PersonSQLiteOpenHelper;
import com.cwj.sqlite825.domain.Person;

public class PersonDao {
private PersonSQLiteOpenHelper sqlHelper;

public PersonDao(Context context) {
sqlHelper = new PersonSQLiteOpenHelper(context, "cwj.db", null, 1);
}

/**
* 添加一条记录到数据库
*
* @param name
* @param number
*/
public void add(String name, String number) {
SQLiteDatabase db = sqlHelper.getWritableDatabase();
db.execSQL("insert into person (name,number)values(?,?)", new Object[] {
name, number });
db.close();
}
/**
* 查
* @param name
* @return
*/
public String find(String name) {
String res = "";
SQLiteDatabase db = sqlHelper.getReadableDatabase();
Cursor cursor = db.rawQuery("select number from person where name=?",
new String[] { name });
if (cursor.moveToNext())
;
{
res = cursor.getString(0);
}
cursor.close();
db.close();
return res;
}

/**
* 修改信息
*
* @param name
*/
public void updateNumberByName(String name, String number) {
SQLiteDatabase db = sqlHelper.getWritableDatabase();
db.execSQL("update person set number=? where name=?", new Object[] {
name, number });
db.close();
}

/**
* 删除数据
*
* @param name
*/
public void deleteByName(String name) {
SQLiteDatabase db = sqlHelper.getWritableDatabase();
db.execSQL("delete from person where name=?", new Object[] { name });
db.close();
}
/**
* 查找所有的记录
* @return
*/
public List<Person> findAll() {
List<Person> res = new ArrayList<Person>();
SQLiteDatabase db = sqlHelper.getReadableDatabase();
Cursor cursor = db.rawQuery("select * from person", 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"));
Person p = new Person(id, name, number);
res.add(p);
}
cursor.close();
db.close();
return res;
}

}


博主最近学习android,分享一些学习心得。欢迎正在学习android的朋友一起学习探讨
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: