利用系统api实现数据库的增删改查 →数据库的增删改查
2014-07-29 11:47
417 查看
PersonDao类
package org.gentry.db.dao; import java.util.ArrayList; import java.util.List; import org.gentry.db.PersonSQLiteOpenHelper; import org.gentry.db.domain.Person; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; public class PersonDao { private PersonSQLiteOpenHelper helper; // 在构造方法里面完成helper的初始化 public PersonDao(Context context) { <span style="white-space:pre"> </span>helper = new PersonSQLiteOpenHelper(context); } /** * 添加一条记录到数据库 * * @param name * 姓名 * @param number * 电话 */ public long add(String name, String number) { SQLiteDatabase db = helper.getWritableDatabase(); // db.execSQL("insert into person (name, number) values (?, ?)", new // Object[] { name, number }); ContentValues values = new ContentValues(); values.put("name", name); values.put("number", number); long id = db.insert("person", null, values); db.close(); return id; } /** * 查询记录是否存在 * * @param name * 姓名 * @return true 存在 false 不存在 */ public boolean find(String name) { SQLiteDatabase db = helper.getReadableDatabase(); // Cursor cursor = db.rawQuery("select * from person where name = ?", // new String[] { name }); Cursor cursor = db.query("person", null, "name=?", new String[] { name }, null, null, null); boolean result = cursor.moveToNext(); cursor.close(); db.close(); return result; } /** * 修改一条记录 * * @param name * 要修改的人的姓名 * @param number * 新的号码 */ public int update(String name, String number) { SQLiteDatabase db = helper.getWritableDatabase(); // db.execSQL("update person set number = ? where name = ?", new // Object[] { // number, name }); ContentValues values = new ContentValues(); values.put("number", number); int rowNumber = db.update("person", values, "name=?", new String[] { name }); db.close(); return rowNumber; } /** * 删除一条记录 * * @param name * 姓名 */ public int delete(String name) { SQLiteDatabase db = helper.getWritableDatabase(); // db.execSQL("delete from person where name = ?", new Object[] { name // }); int number = db.delete("person", "name=?", new String[] { name }); db.close(); return number; } /** * 返回全部数据库的信息 * * @return */ public List<Person> findAll() { SQLiteDatabase db = helper.getReadableDatabase(); List<Person> persons = new ArrayList<Person>(); // Cursor cursor = db.rawQuery("select * from person", null); Cursor cursor = db.query("person", new String[] { "name", "id", "number" }, null, null, null, null, null); while (cursor.moveToNext()) { // int id = cursor.getInt(0); // 拿到第一列id的值(int类型) // String name = cursor.getString(1); // 拿到第二列name的值(String类型) // String number = cursor.getString(2); // 拿到第三列number的值(String类型) int id = cursor.getInt(cursor.getColumnIndex("id")); // 拿到id所在列的值(int类型) String name = cursor.getString(cursor.getColumnIndex("name")); // 拿到name所在列的值(String类型) String number = cursor.getString(cursor.getColumnIndex("number")); // 拿到number所在列的值(String类型) Person p = new Person(id, name, number); persons.add(p); } cursor.close(); db.close(); return persons; } }
相关文章推荐
- ListView →利用系统api实现数据库的增删改查
- Android 系统API实现数据库的增删改查和SQLite3工具的使用
- Android下SQLite数据库学习笔记3——使用系统API实现数据库的增删改查
- 利用VS2010使用C#语言建立数据库Oracle_11g实现增删改查管理系统
- 利用反射+自定义特性实现简单ORM(二),“无SQL”的数据库增删改查
- SSH开发框架中,实现系统启动加载类,读取数据库常用数据进入内存,利用Spring托管,并完成reload功能
- iOS利用系统API实现中文分词
- SQLite增删改查(利用系统API)
- iOS之利用系统自带API实现录音功能
- c#利用反射+特性实现简单的实体映射数据库操作类实现自动增删改查(三)带源码写好的持久层
- 利用系统API实现AES加解密功能
- Android(java)学习笔记193:利用谷歌API对数据库增删改查(推荐使用)
- 利用反射实现对sqlite3数据库的crud(增删改查)操作的一个baseAndroidDao封装,安卓开发中
- 使用系统api实现数据库的增、删、改、查
- ASP.NET实现增删改查等功能(Access版)系统之一 -前台及数据库webconfig配置
- 使用系统api实现数据库的增、删、改、查
- c#利用反射+特性实现简单的实体映射数据库操作类实现自动增删改查(一)
- 控制台程序实现利用CRM组织服务和SqlConnection对数据库中数据的增删改查操作
- android数据库使用系统封装的api实现SQLite数据库的增删改查
- 数据库增删改查(利用重定向和转发实现页面的跳转)