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数据库增删改查的更多相关文章

  1. 通过Sql语句控制SQLite数据库增删改查

    person类属性有Intenger id,String name,Intenger  age,相应的构造方法和set get方法. package com.xh.tx.dao; import jav ...

  2. (转)SQLite数据库增删改查操作

    原文:http://www.cnblogs.com/linjiqin/archive/2011/05/26/2059182.html SQLite数据库增删改查操作 一.使用嵌入式关系型SQLite数 ...

  3. Android SQLite 数据库 增删改查操作

    Android SQLite 数据库 增删改查操作 转载▼ 一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库--SQLite,SQLite3支持NU ...

  4. IOS sqlite数据库增删改查

    1.简单介绍 简单封装sqlite数据库操作类 BaseDB 用于完毕对sqlite的增删改查.使用前先导入libsqlite3.0.dylib库 2.BaseDB.h // // BaseDB.h ...

  5. 使用C#书写SQLite数据库增删改查语句(以及插入byte[]时遇到的问题总结)

    在没有使用SQLite这种轻量级的数据库之前,只使用过Sqlserver2008进行数据的增删改查,公司使用的是大型的ORACLE数据库,还没有真正的会使用它.那时候觉得数据库很庞大,然而遇到SQLi ...

  6. SQLite数据库增删改查操作

    一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库——SQLite,SQLite3支持NULL.INTEGER.REAL(浮点数字).TEXT(字符串 ...

  7. Android SQLite数据库增删改查操作

    一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库——SQLite,SQLite3支持NULL.INTEGER.REAL(浮点数字). TEXT(字符 ...

  8. SQLite数据库增删改查

    一:SQLite数据库简介: SQLite是一种轻量级的关系型数据库,官网:http://www.sqlite.org/. SQLite数据库文件存在于移动设备的一下目录中:data->data ...

  9. 转:ios Sqlite数据库增删改查基本操作

    研究了几天的数据库,终于把它给搞出来了.Sqlite是ios上最常用的数据库之一,大家还是有必要了解一下的.这是仿照网上的一个例子做的,有些部分写的不好,我稍作了修改,以讲解为主,主要让大家能够明白如 ...

随机推荐

  1. (medium)LeetCode 240.Search a 2D Matrix II

    Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...

  2. [HDU 5113] Black And White (dfs+剪枝)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5113 题目大意:给你N*M的棋盘,K种颜色,每种颜色有c[i]个(sigma(c[i]) = N*M) ...

  3. 页面设计--Grid列表

    Grid列表控件 功能:主要实现Html Table功能,支持多表头.固定表头.固定列.输出.组合查询.编辑功能 优点:可以快速的通过数据集合生成多表头.多样式的列表.通过简单的拖拉实现多层表头. G ...

  4. JDK的版本历史

    JDK1.5: 2004年发布----2006年结束 JDK1.6 2006年发布-----2010年结束 一看吓我一条,开始接触JDK都已经是2010年下半年了,可是那是学的就是1.5版本,知道工作 ...

  5. JavaScript对象的创建之构造函数

    通过构造函数的方式创建和基于工厂的创建类似,最大的区别就是函数的名称就是类的名称,按照java的约定,第一个字母大写. 使用构造函数创建对象时,在函数内部是通过this关键字来完成属性的定义. fun ...

  6. TextView里的文 html

    一.[Android实例]实现TextView里的文字有不同颜色 转eoe:http://www.eoeandroid.com/thread-4496-1-1.html import android. ...

  7. Testing and Checking Refined

    还是James大叔的文章:http://www.satisfice.com/blog/archives/856 本文提出了Testing和checking的定义和他们之间的区别. ========== ...

  8. 统计Crash工具—Crashlytics

    官网:https://www.crashlytics.com/login 步骤: 注意:有时候再次运行,或者换了Crashlytics账号之后,获取不到Crash信息,其实你需要把plist文件里的K ...

  9. MSP430F149学习之路——按键与LED

    代码 /*********************************** 程序功能:用按键控制LED状态 缺点:按键按下后无法改变LED灯的状态,可以利用板上的复位键^~^ ********** ...

  10. linux使用flock文件锁解决crontab冲突问题

    * * * * * flock -xn /dev/shm/redis.lock -c "/usr/local/bin/redis-server" 可以用flock命令,配合使用rs ...