通过Sql语句控制SQLite数据库增删改查
2015-11-23 15:25
411 查看
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;
}
}
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;
}
}
相关文章推荐
- 通过API函数来控制SQLite数据库增删改查
- SQLServer中merge函数用法详解
- SQLSERVER 行转列
- oracle 标识符 无效
- MySql中添加用户,新建数据库,用户授权,删除用户,修改密码
- 忘记了mysql登陆密码
- [转]Mysql支持的数据类型(总结)
- mysql 中 character set 与 collation 的点滴理解
- Windows下Memcached的安装配置方法
- 查看当前正在运行的SQL语句的统计信息
- Oracle Database 10g / 11g RMAN备份的加密
- MySQL 存储过程中的循环
- win7 mongodb c++ 驱动
- mac下安装启动Mongodb
- liunx 配置mysql远程访问
- 确定当前正在执行耗占资源的SQL语句
- mysql导入sql报错 Unknown command '\''.
- 解决win7 64位操作系统下安装PL/SQL后连接报错问题: make sure you have the 32 bits oracle client installed
- mysql-查询一天,一周,一月,一年,以及mysql的基本日期函数
- mysql下载地址