`

简单的增删改查

 
阅读更多

数据库代码

public class DBHelper {
	public static final String DB_NAME = "opinion_db";
	public static final String TABLE_NANE = "opinion_table";
	public static final int VERSION = 3;

	public static SQLiteDatabase db;// 只创建一次

	private OpenHelper openHelper;
	private final Context context;

	public DBHelper(Context context) {
		this.context = context;
	}

	public void openDB() {
		if (db == null) {
			openHelper = new OpenHelper(context, DB_NAME, null, VERSION);
			db = openHelper.getWritableDatabase();
			System.out.println("create database!");
		}
	}

	// 插入
	public long insert(OpinionModal opinion) {
		return db.insert(TABLE_NANE, null, putVaule(opinion));
	}

	// 查询
	@SuppressWarnings("unchecked")
	public ArrayList getAll() {
		ArrayList list = new ArrayList();
		Cursor cursor = null;
		cursor = db.query(TABLE_NANE, new String[] { "_id", "opinion"},
				null, null, null, null, null);
		while (cursor.moveToNext()) {
			list.add(mapPut(cursor));
		}
		return list;
	}

	// 根据_id删除单个或多个
	public void delete(int _id) {
		db.delete(TABLE_NANE, "_id=?", new String[] { String.valueOf(_id) });
	}

	// 删除所有
	public void deleteAll() {
		db.delete(TABLE_NANE, null, null);
	}

	// 删除标记的数据
	public void deleteMarked(ArrayList<Integer> deleteId) {
		StringBuffer stringBuffer = new StringBuffer();
		stringBuffer.append("_id=");
		for (int i = 0; i < deleteId.size(); i++) {
			if (i != deleteId.size() - 1) {
				stringBuffer.append(deleteId.get(i) + " or _id=");
			} else {
				stringBuffer.append(deleteId.get(i));
			}
		}
		db.delete(TABLE_NANE, stringBuffer.toString(), null);
	}

	// 封装了Map的put方法
	private Map<String, Object> mapPut(Cursor cursor) {
		// TODO Auto-generated method stub
		HashMap<String, Object> map = new HashMap<String, Object>();
		map.put("_id", cursor.getString(cursor.getColumnIndex("_id")));
		map.put("opinion", cursor.getString(cursor.getColumnIndex("opinion")));
		return map;
	}

	// 封装ContentValues的put方法
	public ContentValues putVaule(OpinionModal opinion) {
		ContentValues values = new ContentValues();
		values.put("opinion", opinion.opinion);
		return values;
	}

	class OpenHelper extends SQLiteOpenHelper {

		public OpenHelper(Context context, String name, CursorFactory factory,
				int version) {
			super(context, name, factory, version);
		}

		@Override
		public void onCreate(SQLiteDatabase db) {
			String sql = "create table "+ TABLE_NANE+ "("+ "_id integer primary key autoincrement,opinion text"+ ")";
			db.execSQL(sql);
		}

		public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
			String sql = "drop table if exists" + DB_NAME;
			db.execSQL(sql);
			openHelper.onCreate(db);
		}

	}
}

 

分享到:
评论

相关推荐

    简单增删改查

    在IT行业中,"简单增删改查"是数据库操作的基础,是任何Web应用程序不可或缺的部分。这里,我们将深入探讨如何在基于Struts2的系统中,利用MySQL数据库进行基本的CRUD(Create、Read、Update、Delete)操作,并简单...

    ASP.NET Repeater 简单增删改查分页例子

    这个"ASP.NET Repeater 简单增删改查分页例子"是一个专门为初学者设计的示例项目,它演示了如何利用Repeater控件以及三层架构来实现一个完整的数据操作和分页功能。 首先,我们来看Repeater控件。Repeater是最基本...

    php简单增删改查

    这个"php简单增删改查"项目是你一年前练习基础数据库操作的成果,主要涵盖了MySQL数据库、PHP数据对象(PDO)以及HTML的基础应用。下面我们将深入探讨这些知识点。 首先,MySQL是世界上最流行的开源关系型数据库管理...

    c#简单增删改查

    本文将基于标题"C#简单增删改查"和描述中提及的环境,即Visual Studio 2008 (VS2008) 和 SQL Server 2005,详细讲解如何使用C#进行数据库的增删改查操作。 首先,我们需要创建一个数据库连接。在C#中,我们通常使用...

    DataGrid简单增删改查

    本篇文章将详细讲解如何利用C#语言实现DataGrid的简单增删改查功能,以便在用户管理场景中进行数据操作。 首先,我们需要创建一个User Management系统,这个系统可能包含用户的基本信息,如用户名、密码、邮箱等。...

    ASP.net实现简单增删改查功能

    在这个“ASP.NET实现简单增删改查功能”的主题中,我们将深入探讨如何利用ASP.NET的核心组件,如Visual Studio(VS)集成开发环境和SQL Server数据库,来实现基本的数据操作。 首先,我们需要了解ASP.NET MVC或Web ...

    重写hibernate的session简单增删改查

    "重写hibernate的session简单增删改查"是一个针对初学者的实践教程,旨在帮助理解如何在Hibernate中自定义Session的操作,以便更好地控制数据库交互。 一、Hibernate Session Hibernate的Session是与数据库交互的...

    基于ssm框架的简单增删改查

    本项目"基于SSM框架的简单增删改查"旨在实现一个留言板功能,包括留言的增加、删除、修改和查询,同时还提供了分页和模糊查询的功能。以下是关于这些知识点的详细说明: **1. Spring框架**: Spring是Java企业级...

    springboot+jpa+thymeleaf实现简单增删改查

    在本教程中,我们将深入探讨如何使用Spring Boot、JPA(Java Persistence API)以及Thymeleaf模板引擎实现一个简单的数据库操作,包括增删改查(CRUD)。Spring Boot简化了Java应用程序的开发过程,而JPA是Java平台...

    WPF实现简单增删改查

    **WPF实现简单增删改查** Windows Presentation Foundation(WPF)是Microsoft.NET Framework的一部分,用于构建具有丰富用户界面的应用程序。在这个项目中,“WPF实现简单增删改查”是一个基础教程,它展示了如何...

    ssh的简单增删改查

    这个“ssh的简单增删改查”示例旨在演示如何在Web应用中利用SSH框架进行基本的数据操作。在这个小例子中,我们将探讨SSH框架的核心概念以及如何通过Ajax技术实现异步的删除操作。 1. **Struts**:Struts是一个MVC...

    php+mysql简单增删改查 案例

    php+mysql简单增删改查,配置好数据库连接地址直接导入运行php即可,

    简单增删改查功能案例

    本案例“简单增删改查功能案例”利用了Silverlight、RIA Services以及SQL to LINQ技术,构建了一个直观且实用的用户界面,实现了对数据的高效管理。 首先,让我们详细了解这些技术: 1. **Silverlight**:这是一种...

    ssm简单增删改查小系统

    这个“ssm简单增删改查小系统”是一个适合初学者练习和学习的基础项目,涵盖了SSM框架的基本使用和数据库操作。 1. **Spring框架**:Spring是Java企业级应用开发的核心框架,提供了依赖注入(DI)和面向切面编程...

    ssh实现简单增删改查

    在这个“ssh实现简单增删改查”的案例中,我们将深入理解这三个框架如何协同工作来完成基本的数据操作。 **Struts2** 是一个基于MVC(Model-View-Controller)设计模式的Web应用框架,它简化了开发过程,提供了丰富...

    基于SSM的简单增删改查

    基于SSM的简单增删改查 之前简单了解了Spring后就想找个简单的项目练一下,于是就有了这个简单的增删改查,个人水平有限. - 基础框架-ssm(Spring + SpringMVC + MyBatis) - 数据库-MySQl - 前端框架-bootstrap快速搭建...

    MVC EF 简单增删改查

    **简单增删改查操作** 在ASP.NET MVC中,使用EF实现增删改查(CRUD)操作相对简单。以下是一般步骤: 1. **创建模型类**:定义一个表示数据库表的类,例如`Student`,包含属性如`Id`、`Name`和`Age`。 2. **配置...

    包含上传图片的简单增删改查Demo

    本项目“包含上传图片的简单增删改查Demo”提供了一个完整的示例,展示了如何在一个应用程序中实现基本的数据操作(增删改查)以及图片上传功能。下面将详细解析其中涉及的关键知识点。 首先,增删改查(CRUD,...

    kendoUI简单增删改查源代码

    在本项目"KendoUI简单增删改查源代码"中,我们看到开发者利用Kendo UI 的数据网格(Grid)组件实现了一个基本的数据管理功能,包括添加、删除、修改和查询操作。 这个项目主要基于C#后端,可能采用了ASP.NET MVC或...

    mybatis入门之简单增删改查

    在深入探讨MyBatis的简单增删改查操作之前,我们先了解一下MyBatis的基本概念和架构。 MyBatis的核心组件包括:XML配置文件、Mapper接口及Mapper XML文件、SqlSessionFactory和SqlSession。XML配置文件主要用于设置...

Global site tag (gtag.js) - Google Analytics