Android下数据库的操作应用(二)

本文详细介绍在Android环境下如何通过自定义类实现数据库的创建及增删改查操作,并提供了具体的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

>  本文紧接上一篇文章:Android下数据库的操作应用(一) 从以下方面讲述数据库的操作应用:

>  数据库增删改查的实现


【4】数据库的增删改查

  • 创建工程StudentInfo_db,接着新建一个包com.beijing.studentinfo.db包,在这个包里创建一个类StudentDBOpenHelper类,在这个类中设置好数据库的名称,游标,版本号后,创建一个数数据库info.db。
public class StudentDBOpenHelper extends SQLiteOpenHelper {

	public StudentDBOpenHelper(Context context) {
		super(context, "info.db", null, 1);
	}

	@Override
	public void onCreate(SQLiteDatabase db) {
		db.execSQL("create table student (_id integer primary key autoincrement,name varchar(20),sex varchar(6))");
	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

	}

}
  • 新建一个包com.beijing.studentinfo.db.dao,在包中创建一个StudentDao类用来操作数据库的增删改查,增删改查的代码如下:
package com.beijing.studentinfo.db.dao;

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

import com.beijing.studentinfo.db.StudentDBOpenHelper;

/*
 * 学生信息的dao
 */
public class StudentDao {
	private StudentDBOpenHelper helper;
	
	/*
	 * 只有一个有参的构造函数,要求必须传入上下文
	 */
	public StudentDao(Context context) {
		helper=new StudentDBOpenHelper(context);
	}

	/*
	 * 添加一个学生
	 * name 姓名
	 * sex 性别:male,female
	 */
	public void add(String name,String sex){
		SQLiteDatabase db =helper.getWritableDatabase();
		db.execSQL("insert into student (name,sex) values (?,?)",new Object[]{name,sex});
		db.close();
	}
	
	/*
	 * 删除一个学生
	 * name 姓名
	 */
	public void delete(String name){
		SQLiteDatabase db =helper.getWritableDatabase();
		db.execSQL("delete from student where name=?", new Object[]{name});
		db.close();
	}
	
	/*
	 * 修改一个学生的信息,性别
	 * name: 姓名
	 * newsex:新的性别
	 */
	public void update(String name,String newsex){
		SQLiteDatabase db =helper.getWritableDatabase();
		db.execSQL("update student set sex=? where name=?", new Object[]{newsex,name});
		db.close();
	}
	
	public String find(String name){
		String sex=null;
		SQLiteDatabase db =helper.getReadableDatabase();
		Cursor cursor=db.rawQuery("select sex from student where name=?", new String[]{name});
		boolean result = cursor.moveToNext();
		if(result){
			sex = cursor.getString(0);
		}
		cursor.close();
		db.close();//释放资源
		return sex;
	}
}
对于上面的增删改查的内容,可以通过命令行的方式或单元测试的方法进行检验。

>  本文是数据库操作应用的部分内容,紧接上一部分: Android下数据库的操作应用(一)

> 本文的代码链接 http://download.youkuaiyun.com/detail/programmerteny/9471723, 可下载研究



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值