通过API函数来控制SQLite数据库增删改查
person类属性有Intenger id,String name,Intenger age,相应的构造方法和set get方法。
package com.xh.tx.dao;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import com.xh.tx.bean.Person;
import com.xh.tx.utils.MySQLiteHelper;
public class PersonDao1 
{
	private static final String TAG = "PersonDao1";
	private MySQLiteHelper helper;
  public PersonDao1(Context context)
	  {
		    helper = new MySQLiteHelper(context, null, null, -1);//前者创建的时候版本已经固定了,后面的-1没作用,与前面的用Eclipse创建数据库文章相结合
	  }
	  //增加数据
	  public void savePerson(Person p)
	  {
		    SQLiteDatabase db = helper.getWritableDatabase();
		    if(db.isOpen())
		    {
			      //nullColumnHack 如果数据库里面的name字段设计的时候不允许为空,但是你传递过来的参数是空
			      // 如果不设置这个nullColumnHack参数那么就会报错
			      // 如果你设置nullColumnHack这个参数的值为name那么不会报错
			      ContentValues values = new ContentValues();
			      values.put("name", p.getName());
			      values.put("age", p.getAge());
			      Long id = db.insert("person", null, values);
			      Log.d(TAG, "================:" + id);
			      db.close();
		    }
	  }
  //删除数据
	  public void deletePerson(Integer id)
	  {
		    SQLiteDatabase db = helper.getWritableDatabase();
		    if(db.isOpen())
		    {
			      //select * from person where id=? and name = ?;
			      String whereClause = "_id=?";
			      String[] whereArgs = new String[]{String.valueOf(id)};
			      int _id = db.delete("person", whereClause, whereArgs);
			      Log.d(TAG, "================:" + _id);
			      db.close();
		    }
	  }
  //修改数据
	  public void updatePerson(Person p)
	  {
		    SQLiteDatabase db = helper.getWritableDatabase();
		    if(db.isOpen())
		    {
			      ContentValues values = new ContentValues();
			      values.put("name", "xintx");
			      values.put("age", "2");	
			      String whereClause = "_id=?";
			      String[] whereArgs = new String[]{String.valueOf(p.get_id())};
			      db.update("peson", values, whereClause, whereArgs);
      db.close();
		    }
	  }
  //查询单个数据
	  public void queryItem(Integer id)
	  {
		    SQLiteDatabase db = helper.getReadableDatabase();
		    if(db.isOpen())
		    {
			      String[] columns = new String[]{"_id","name","age"};
			      String selection = "_id=?";
			      String[] selectionArgs = new String[]{String.valueOf(id)};
			      String groupBy = null; //按什么什么分组
			      String having = null; //如果select里面包含了组函数的时候,不能用where去查询 就只有用having
			      String orderBy = null; //按什么排序 order by id desc;
      Cursor cursor = db.query("person", columns, selection, selectionArgs, groupBy, having, orderBy); 
 			      if(null != cursor && cursor.moveToFirst())
 			      {
 				        Integer _id = cursor.getInt(0);
 				        String name = cursor.getString(1);
 				        Integer age = cursor.getInt(2);	
 				        Log.d(TAG, "_id=" + _id + "  name=" + name + "  age = " + age);
cursor.close()
        db.close();
 			      }
		    }
	  }
//查询所有数据
public List<Person> queryAll() {
      List<Person> list = null;
		      db = helper.getReadableDatabase();
		      if (db.isOpen()) {
			        list = new ArrayList<Person>();
			        String[] columns = new String[] { "_id", "name", "age" };
			        String selection = null;
			        String selectionArgs[] = null;
			        String groupBy = null;
			        String having = null;
			        String orderBy = null;
			        Cursor cursor = db.query("person", columns, selection, selectionArgs, groupBy, having, orderBy);
			        while (cursor != null && cursor.moveToNext()) {
				          Integer _id = cursor.getInt(0);
				          String name = cursor.getString(1);
				          Integer age = cursor.getInt(2);
				          list.add(new Person(_id, name, age));
			        }
			        cursor.close();
			        db.close();
		      }
		     return list;
	   }
}
通过API函数来控制SQLite数据库增删改查的更多相关文章
- 通过Sql语句控制SQLite数据库增删改查
		person类属性有Intenger id,String name,Intenger age,相应的构造方法和set get方法. package com.xh.tx.dao; import jav ... 
- (转)SQLite数据库增删改查操作
		原文:http://www.cnblogs.com/linjiqin/archive/2011/05/26/2059182.html SQLite数据库增删改查操作 一.使用嵌入式关系型SQLite数 ... 
- Android SQLite 数据库 增删改查操作
		Android SQLite 数据库 增删改查操作 转载▼ 一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库--SQLite,SQLite3支持NU ... 
- IOS sqlite数据库增删改查
		1.简单介绍 简单封装sqlite数据库操作类 BaseDB 用于完毕对sqlite的增删改查.使用前先导入libsqlite3.0.dylib库 2.BaseDB.h // // BaseDB.h ... 
- 使用C#书写SQLite数据库增删改查语句(以及插入byte[]时遇到的问题总结)
		在没有使用SQLite这种轻量级的数据库之前,只使用过Sqlserver2008进行数据的增删改查,公司使用的是大型的ORACLE数据库,还没有真正的会使用它.那时候觉得数据库很庞大,然而遇到SQLi ... 
- SQLite数据库增删改查操作
		一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库——SQLite,SQLite3支持NULL.INTEGER.REAL(浮点数字).TEXT(字符串 ... 
- Android SQLite数据库增删改查操作
		一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库——SQLite,SQLite3支持NULL.INTEGER.REAL(浮点数字). TEXT(字符 ... 
- SQLite数据库增删改查
		一:SQLite数据库简介: SQLite是一种轻量级的关系型数据库,官网:http://www.sqlite.org/. SQLite数据库文件存在于移动设备的一下目录中:data->data ... 
- 转:ios Sqlite数据库增删改查基本操作
		研究了几天的数据库,终于把它给搞出来了.Sqlite是ios上最常用的数据库之一,大家还是有必要了解一下的.这是仿照网上的一个例子做的,有些部分写的不好,我稍作了修改,以讲解为主,主要让大家能够明白如 ... 
随机推荐
- css margin-top设置html元素之间的距离
			css margin-top属性设置的是一个元素的顶端与另一个元素之间的距离.这个距离称为上外边距,本文章向大家介绍css margin-top属性的用法和实例,需要的朋友可以参考一下. css ma ... 
- http是什么?
			http HyperText Transfer Protocol 超文本传输协议,是一个应用层通信协议. 可以用wireshark抓取. 
- JDK源码分析之集合02ArrayList
			一.前言 有了前一篇对集合类的概述,我们知道ArrayList是属于Collection类系中的一个具体实现类,其特点是长度可以动态改变,集合内部使用数组保存元素.下面我们对源码进行分析. 二.Arr ... 
- 【测试】通过RMAN联机全库备份,包括控制文件,归档日志文件,备份成功后,删除已备份的归档日志。
			RMAN是一个很方便很好用的备份,恢复,还原的一个工具,做这个小测试其实只有一个RMAN语句就完全解决了这么大的需求: RMAN> backup as backupset full databa ... 
- socket学习笔记——IO口的基本操作(读、写)
			写操作 1 #include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <unist ... 
- MSP430F149学习之路——按键与LED
			代码 /*********************************** 程序功能:用按键控制LED状态 缺点:按键按下后无法改变LED灯的状态,可以利用板上的复位键^~^ ********** ... 
- rsync安装使用
			安装 yum install rsync mkdir /etc/rsyncd cd /etc/rsyncd vi rsyncd.conf pid file = /var/run/rsyncd.pid ... 
- python中时间格式
			问题:通过MySQLdb查询datetime字段,然后通过浏览器显示出来,得到的格式是: 'Thu, 19 Feb 2009 16:00:07 GMT' (http呈现出来的格式) ... 
- java基础回顾(七)——ThreadPoolExecutor
			先来看一下构造函数 public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeU ... 
- UnityVS 2013的使用
			如果已安装旧版,先卸载,然后在安装新版本: 安装完毕后,打开Unity,在Build Settings中设置: Import the Visual Studio Tools Unity package ... 
