zoukankan      html  css  js  c++  java
  • 通过Sql语句控制SQLite数据库增删改查

    person类属性有Intenger id,String name,Intenger  age,相应的构造方法和set get方法。

    package com.xh.tx.dao;

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

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

    import com.xh.tx.bean.Person;
    import com.xh.tx.utils.MySQLLiteHelper;

    public class PersonDao
    {
      private MySQLiteHelper helper;
      public PersonDao(Context context)
      {
        helper = new MySQLiteHelper(context, null, null, -1);//前者创建的时候版本已经固定了,后面的-1没作用,与前面的用Eclipse创建数据库文章相结合
      }

      /**
      * 对数据库进行添加操作
      * sql:insert into person(name,age) values('sz',20);
      *缺陷:
      * 1. 传递参数很麻烦
      * 2. 不能有返回值
      */

      public void savePerson(Person p)
      {
        String sql = "insert into person(name,age) values(?,?);";//person是数据库中已经创建的表,具有_id,name,age属性,_id是key
        SQLiteDatabase db = helper.getWritableDatabase();
        //db代表的是一个数据库的一个连接
        if(db.isOpen())//判断数据库是否打开
        {
          db.execSQL(sql, new Object[]{p.getName(),p.getAge()}); //向数据库里面去添加一行记录,后者为bindArgs,相印的对象类型是包装类
          db.close(); //记住一定要关闭数据库的连接
        }
      }

      /**
      * 删除一个对象
      * sql:delete from person where _id = 1;
      */
      public void deletePerson(Integer id)
      {
        String sql = "delete from person where _id = ?;";
        SQLiteDatabase db = helper.getWritableDatabase();
        if(db.isOpen())
        {
          db.execSQL(sql, new Integer[]{id});
          db.close();
        }
      }

      /**
      * 修改一个对象
      * sql:update person set name ='cccc' where _id=1;
      */
      public void updatePerson(Person p)
      {
        String sql = "update person set name =? where _id=?;";
        SQLiteDatabase db = helper.getWritableDatabase();
        if(db.isOpen())
        {
          db.execSQL(sql, new Object[]{p.getName(),p.get_id()});
          db.close();
        }
      }

      /**
      * 查询所有
      */
      public List<Person> queryPerson()
      {
        String sql = "select _id,name,age from person;";
        SQLiteDatabase db = helper.getReadableDatabase();
        List<Person> list = null;

        if(db.isOpen())
        {
          Cursor cursor = db.rawQuery(sql, null); //查询
          //cursor.getCount() 查看执行sql以后返回的结果集的个数
          if(null != cursor && cursor.getCount() > 0)
          {
            list = new ArrayList<Person>();
            while(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;
      }
    }

  • 相关阅读:
    C# 获取 域(AD) 用户信息
    如何在 MOSS 2007 启用 Session
    安装 卸载 回收 sharepoint 解决方案 moss wss wsp
    [转]挑战Windows极限:物理内存
    霍特卡的 CSLA.Net 3.6 Windows及Silverlight的正式版 昨天发布 同时CSLA.Net 业务对象 2008 英文版图书可以网上订购
    转帖如何在不联网的情况下安装 Silverlight Tools
    jQuery 选择器的使用
    关闭 Windows Server 2008 用户权限控制(UAC)
    jQuery 的第一个例子
    jQuery for Asp.Net 一步一步从入门到精通(附 jQuery API 彩色大图)
  • 原文地址:https://www.cnblogs.com/zzw1994/p/4898623.html
Copyright © 2011-2022 走看看