[转]Android 如何对sqlite数据库进行增删改[insert、update和delete] 操作
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log; public class DBHelper extends SQLiteOpenHelper {
final private static String mDbName="imgfornote";
final private static int mDbVersion=1;
private static DBHelper mInstance=null;
private final static String mTUserPhoto="UserPhoto";
final private static String mCreateSqlForNoteClass="create table if not exists NoteClass(classId integer primary key asc autoincrement,className NVARCHAR(100),rowTime timestamp default (datetime('now', 'localtime')))";
final private static String mCreateSqlForUserPhoto="create table if not exists UserPhoto(photoId integer primary key asc autoincrement,photoName VARCHAR(200),userPt VARCHAR(200),title VARCHAR(255),classId integer,content NVARCHAR(250),tag NVARCHAR(200),remark text,status integer default 0,rowTime timestamp default (datetime('now', 'localtime')))";
final private static String[] mInsertSqlForNoteClass={"insert into NoteClass(className) values('默认分类[私有]');","insert into NoteClass(className) values('读书笔记[私有]');","insert into NoteClass(className) values('电子资料[公开]');"};
private DBHelper(Context context, CursorFactory factory) {
super(context, mDbName, factory, mDbVersion);
} public static DBHelper GetInstance(Context context, SQLiteDatabase.CursorFactory factory)
{
if(mInstance==null){
mInstance = new DBHelper(context,factory);
}
return mInstance;
} @Override
public void onCreate(SQLiteDatabase db) {
// 创建表
db.execSQL(mCreateSqlForNoteClass);
db.execSQL(mCreateSqlForUserPhoto);
//初始化数据
for(int i=0;i<mInsertSqlForNoteClass.length;i++)
db.execSQL(mInsertSqlForNoteClass[i]);
} @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub } private Cursor ExecSQLForCursor(String sql, String[] selectionArgs){
SQLiteDatabase db =getWritableDatabase();
Log.i("ExecSQLForCursor",sql);
return db.rawQuery(sql, selectionArgs);
}
private void ExecSQL(String sql){
try{
SQLiteDatabase db =getWritableDatabase();
ExecSQL(sql,db);
}catch(Exception e){
Log.e("ExecSQL Exception",e.getMessage());
e.printStackTrace();
}
}
private void ExecSQL(String sql,SQLiteDatabase db ){
try{
db.execSQL(sql);
Log.i("ExecSQL",sql);
}catch(Exception e){
Log.e("ExecSQL Exception",e.getMessage());
e.printStackTrace();
}
}
//添加照片信息
public long InsertUserPhoto(String photoName,String title){
SQLiteDatabase db =getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("photoName", photoName);
cv.put("title", title);
return db.insert(mTUserPhoto, null, cv);
}
//查询照片信息
public Cursor SearchPhoto(int row,String sort){
Cursor cur = null;
try{
String ord = (sort==null|| sort.toLowerCase().startsWith("a"))?"asc":"desc";
String sql = "select * from UserPhoto order by photoId "+ord;
String[] args = {String.valueOf(row)};
if(row>0){
sql +=" limit ?";
}else{
args=null;
}
cur = ExecSQLForCursor(sql,args);
}catch (Exception e) {
cur = null;
Log.e("SearchPhoto Exception",e.getMessage());
e.printStackTrace();
}
return cur;
}
//修改照片信息
public int UpdateUserPhoto(int photoId,int classId,String title,String content, String tag){
SQLiteDatabase db =getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("classId", classId);
cv.put("title", title);
cv.put("content", content);
cv.put("tag", tag);
String[] args = {String.valueOf(photoId)};
return db.update(mTUserPhoto, cv, "photoId=?",args);
}
//删除照片信息
public int DeleteUserPhoto(int photoId){
SQLiteDatabase db =getWritableDatabase();
String[] args = {String.valueOf(photoId)};
return db.delete(mTUserPhoto, "photoId=?", args);
}
}
[转]Android 如何对sqlite数据库进行增删改[insert、update和delete] 操作的更多相关文章
- Android下利用SQLite数据库实现增删改查
1: 首先介绍如何利用adb查看数据库 1: adb shell 2: cd /data/data/包名/databases 3: sqlite3 数据库 4 接下来就可以进行数据库的sql语法 ...
- Android 系统API实现数据库的增删改查和SQLite3工具的使用
在<Android SQL语句实现数据库的增删改查>中介绍了使用sql语句来实现数据库的增删改查操作,本文介绍Android 系统API实现数据库的增删改查和SQLite3工具的使用. 系 ...
- Android中Sqlite数据库进行增删改查
今天这篇文章写Sqlite数据库,通过一个小案例来完整讲一下数据库常见的CRUD操作. 先对知识点总结: SQLite数据库 轻量级关系型数据库 创建数据库需要使用的api:SQLiteOpenHel ...
- Android SQL语句实现数据库的增删改查
本文介绍android中的数据库的增删改查 复习sql语法: * 增 insert into info (name,phone) values ('wuyudong','111') * 删 delet ...
- android 对sqlite数据库的增删改查等各种操作
转载:http://blog.csdn.net/vrix/article/details/6717090 package com.sqlite.main; import java.io.File; i ...
- [Android] SQLite数据库之增删改查基础操作
在编程中常常会遇到数据库的操作,而Android系统内置了SQLite,它是一款轻型数据库,遵守事务ACID的关系型数据库管理系统,它占用的资源非常低,可以支持Windows/Linux/Un ...
- Android对Sqlite数据库的增删改查
SqLite 数据库 Google 为我们提供了sqlite相关的api SqLiteOpenHelper 这是一个抽象的类 如果想要使用的话,需要其他的类去继承他 SqLiteDatabase 类 ...
- SQLite数据库以及增删改查的案例
Android使用开源的与操作系统无关的SQL数据库——SQLite 一:在命令行下创建数据库: 1.启动模拟器后,打开命令行,执行adb shell 2.进入所在工程目录 3.执行sqlite3 m ...
- greendao对SQLite数据库的增删改查操作
利用greendao操作数据库时,都是以对象或者对象的list来进行增删改查的操作,操作的结果都是用一个list来接收的!!! 1.增加一条记录 Stu stu01=new Stu();stu01.s ...
随机推荐
- Storm常见问题处理
错误1:发布topologies到远程集群时,出现Nimbus host is not set异常.异常内容如下所示: [root@xop-dev-a bin]# ./storm jar /home/ ...
- 核心梳理——消息处理的骨架流程——ESFramework 4.0 进阶(02)
在ESFramework 4.0 概述一文中,我们提到ESFramework.dll作为通信框架的核心,定义了消息处理的骨架流程,本文我们来详细剖析这个流程以及该骨架中所涉及的各个组件.ESFrame ...
- sublime 3 最新 LICENSE
http://blog.sina.com.cn/s/blog_68e267e10102v76h.html
- LeadTools答题卡识别方案
/// <summary> /// 批改操作 /// </summary> public AnswerCard DoCorrect(Stream AnserCardFile) ...
- word异常关闭,找到丢失的word
Word模板路径位置 XP系统用户默认模板路径一般在 C:\Documents and Settings\Administrator\Application Data\Microsoft\Templa ...
- perl中的pack与unpack
这个pack, unpack在 "perl语言编程" 有介绍 看起来很复杂 #把一个字符串转为十六进制格式 my $source = 'abcd'; unpack('H*', $s ...
- hdu 5584 gcd/lcm/数学公式
input T 1<=T<=1000 x y output 有多少个起点可以走n(n>=0)步走到(x,y),只能从(x,y)走到(x,y+lcm(x,y))/(x+lcm(x,y) ...
- Raft详解-启动后运行期间代码
Raft启动后运行期间主要执行两个函数:1.状态监测和转化 func (rf *Raft) Loop() { // Set out as a follower TimeOutConst := 0 fo ...
- vbs 获取当前目录的实现代码
CMD当前路径 复制代码 代码如下: test = createobject("Scripting.FileSystemObject").GetFolder(".&quo ...
- thinkphp整合系列之短信验证码、订单通知
现在这个短信通知泛滥的年代:应用如果没有个短信注册:你都不敢说你是搞开发的: 这个验证码搞起来是不难的:但是如果刚接触也是有点不知从哪下手的迷茫: 先讲下概念: 要想发送验证码:需要至少三项:appi ...