博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android操作SQLite的完整示例(操作类对象)
阅读量:5791 次
发布时间:2019-06-18

本文共 4764 字,大约阅读时间需要 15 分钟。

 

...

package com.locke.android;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteException;import android.database.sqlite.SQLiteOpenHelper;import android.util.Log;import com.locke.android.model.User;public class DbHelper  extends SQLiteOpenHelper {    private final static String TAG = "DbHelper";    //程序标志    private final static String DATABASE_NAME = "locke_db";    private final static int DATABASE_VERSION = 1;    private final static String TABLE_NAME = "tbl_users";    private final static String CREATE_TABLE_USERS =            "CREATE TABLE IF NOT EXISTS tbl_users(id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT,password TEXT,regdate date)";    private final static String DROP_TABLE_USERS =            "DROP TABLE IF EXIST tbl_users";    private final static String FIELD_ID = "id";    public final static String SQL_RAWQUERY ="select id,name,password,regdate FROM tbl_users";        public DbHelper(Context context){                    super(context,DATABASE_NAME,null,DATABASE_VERSION);            }        @Override    public void onCreate(SQLiteDatabase db){        db.execSQL(CREATE_TABLE_USERS);    }        @Override    public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion){        db.execSQL(DROP_TABLE_USERS);        onCreate(db);    }        /*     * 添加一条User记录     * @param user 用户记录     * @return 返回插入的行 id     */    public long addUser(User user){        SQLiteDatabase db = null;        try{                    //转化SQLite日期格式             SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");            ContentValues values = new ContentValues();            values.put("name", user.GetName());            values.put("password", user.GetPassword());            values.put("regdate", dateFormat.format(user.GetRegdate()) );                        db = this.getWritableDatabase();                        long result =  db.insert(TABLE_NAME, null, values);                        return result;        }catch(SQLiteException e){            return -1;        }finally{            if(db.isOpen())                db.close();        }    }        /*     * 查询记录     * @return 获取到的行记录      */    public List
queryUsers(){ Cursor c = null; SQLiteDatabase db = null; List
result = new ArrayList
(); try { db = this.getReadableDatabase(); c = db.query(TABLE_NAME,new String[]{"id","name","password","regdate"}, null,null,null,null,null,"id asc"); c.moveToFirst(); while(!c.isAfterLast()){ User user = new User(); user.SetId(c.getInt(0)); user.SetName(c.getString(1)); user.SetPassword(c.getString(2)); user.SetRegdate(new Date(c.getString(0))); result.add(user); c.moveToNext(); } return result; }catch(SQLiteException e){ Log.e(TAG, e.getMessage()); return null; }finally{ if(!c.isClosed()){ c.close(); } if(db.isOpen()){ db.close(); } } } /* * 删除一条用户记录 * @return 是否删除成功 */ public boolean delete(User user) { SQLiteDatabase db=null; try{ db=this.getWritableDatabase(); String where=FIELD_ID+"=?"; String[] whereValue={Integer.toString(user.GetId())}; long result = db.delete(TABLE_NAME, where, whereValue); return result > 0; }catch(SQLiteException e){ return false; }finally{ if(db.isOpen()){ db.close(); } } } /* * 更新一条记录 * @return 是否更新成功 */ public boolean update(User user){ SQLiteDatabase db = null; try{ db = this.getWritableDatabase(); String where=FIELD_ID+"=?"; String[] whereValue={Integer.toString(user.GetId())}; ContentValues values=new ContentValues(); values.put("name", user.GetName()); values.put("password", user.GetPassword()); long result = db.update(TABLE_NAME, values, where, whereValue); return result>0; }catch(SQLiteException e){ return false; }finally{ if(db.isOpen()){ db.close(); } } }}

 

项目源码:

转载地址:http://vogyx.baihongyu.com/

你可能感兴趣的文章
运用Loadrunner测试Mysql数据库性能
查看>>
Spring MVC EL表达式不能显示
查看>>
【致青春】我们挥霍时间的年代
查看>>
WDS系列之四:自定义安装映像
查看>>
CentOS7 NTP server + keepalived
查看>>
jQuery 表单应用:全选/取消全选,表单验证,网页选项卡切换
查看>>
Castle 整合.NET Remoting
查看>>
Windwos Server 2008 R2 DHCP服务
查看>>
SAS和SATA硬盘的区别
查看>>
现代程序设计 学生情况调查
查看>>
U盘安装linux后无法引导
查看>>
C# 矩阵作业
查看>>
俺的新书《Sencha Touch实战》终于出版了
查看>>
关于数据库查询时报“query block has incorrect number of result columns”
查看>>
li下的ul----多级列表
查看>>
UVa 11292 勇者斗恶龙(The Dragon of Loowater)
查看>>
线程退出时执行函数,处理资源
查看>>
java中关于时间的格式化
查看>>
Wine QQ2012 笔记
查看>>
qml demo分析(clocks-时钟)
查看>>