以下介绍另外一种增删查改的方式

package com.njupt.sqllist;

import java.util.ArrayList;
import java.util.List; import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase; public class PersonDao { DBOpenHelper helper; public PersonDao(Context context) {
helper = new DBOpenHelper(context);
} public void insert(Person p) {
SQLiteDatabase db = helper.getWritableDatabase(); ContentValues values = new ContentValues();
values.put("name", p.getName());
values.put("balance", p.getBalance());
long row = db.insert("person", null, values);
System.out.println("在第"+row+"插入");
db.close();
} public void delete(int id) {
SQLiteDatabase db = helper.getWritableDatabase(); int rows = db.delete("person", "id = ? ", new String[]{ id + ""}); System.out.println("删除了"+rows+"行");
db.close();
} public void update(Person p) {
SQLiteDatabase db = helper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", p.getName());
values.put("balance", p.getBalance());
int rows = db.update("person", values,"id = ?",new String[]{p.getId() + ""}); System.out.println("更新了"+rows+"行");
db.close();
} public Person query(int id) {
SQLiteDatabase db = helper.getReadableDatabase(); Cursor c = db.query("person", new String[]{"name,balance"}, "id = ? ", new String[]{id + ""}, null, null, null);
Person p = null;
if (c.moveToNext()) {
String name = c.getString(c.getColumnIndex("name"));
int balance = c.getInt(1); p = new Person(id, name, balance);
} System.out.println("这是一种另一种方式进行查询");
return p;
} public List<Person> queryAll() {
SQLiteDatabase db = helper.getReadableDatabase(); Cursor c = db.query("person", null, null, null, null, null, null); List<Person> persons = new ArrayList<Person>(); while (c.moveToNext()) {
Person p = new Person(c.getInt(0), c.getString(1), c.getInt(2)); persons.add(p);
} System.out.println("这时再用另外一种方式查询所有");
return persons;
} public void remit(int from, int to, int count) {
SQLiteDatabase db = helper.getWritableDatabase();
try {
db.beginTransaction(); db.execSQL("update person set balance = balance - ? where id = ?",
new Object[] { count, from });
System.out.println(1 / 0);
db.execSQL("update person set balance = balance + ? where id = ?",
new Object[] { count, to }); db.setTransactionSuccessful();
} finally { db.endTransaction();
db.close();
}
} public int queryCount() {
SQLiteDatabase db = helper.getReadableDatabase(); Cursor c = db.query("person", new String[]{"count(*)"}, null, null,null, null, null);
c.moveToNext(); int count = c.getInt(0); System.out.println("这时再用另外一种方式查询总数");
return count;
} public List<Person> queryPage(int pageNum, int pageSize) {
SQLiteDatabase db = helper.getReadableDatabase(); Cursor c = db.query("person",null, null, null,null,null,null, (pageNum - 1) * pageSize + " , " + pageSize);
List<Person> persons = new ArrayList<Person>(); while (c.moveToNext()) {
Person p = new Person(c.getInt(0), c.getString(1), c.getInt(2)); persons.add(p);
} System.out.println("这时再用另外一种方式在分页");
return persons;
} }

最新文章

  1. CentOS 6.5安装Node.js, npm
  2. HDU 1796How many integers can you find(容斥原理)
  3. 原创教程:《metasploit新手指南》介绍及下载
  4. R之字符串连接函数paste
  5. 包括post,get请求(http,https)的HttpClientUtils
  6. VC与JavaScript交互(三) --- CWebPage类调用javascript函数(给js函数传参,并取得返回值)
  7. 以Lockbits的方式访问bitmap
  8. Linux系统下分割tomcat日志
  9. Button简单实例1
  10. C#中的foreach语句与枚举器接口(IEnumerator)及其泛型 相关问题
  11. Flask 扩展 Flask-RESTful
  12. 二、npm scripts
  13. Django的datetime.timedelta类(Django编程-2)
  14. list转化为json数组
  15. 逆袭之旅.DAY07东软实训..封装~继承~抽象~final
  16. iOS - View的抖动效果
  17. RHEL7 -- 修改主机名
  18. nignx重启
  19. replace与replaceAll的区别
  20. 通过EditText的setTransformationMethod()隐藏或显示密码

热门文章

  1. Asp.net 4.0,首次请求目录下的文件时响应很慢
  2. jquery插件FlexiGrid的使用
  3. C#在outlook里创建一封邮件到草稿箱
  4. Ubuntu12.10无法安装openssh-server[已解决]
  5. leetcode第七题--Reverse Integer
  6. StringTokenizer使用类
  7. SQL Server 复制 - 发布订阅(SQL Server 数据同步)
  8. 【分享】史上最全的Python电子书教程资源下载
  9. 在win下,如何用bat看程序运行的时间
  10. 10.26最后的模拟DAY2 数字对[暴力]