`
oraclestudy
  • 浏览: 497626 次
文章分类
社区版块
存档分类

androd SQLite 自己写的数据库操作类

 
阅读更多

package com.db;


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 MyHelper extends SQLiteOpenHelper{

};

public MyHelper(Context context, String name,
CursorFactory factory, int version) {
super(context, name, factory, version);
}


@Override
public void onCreate(SQLiteDatabase db) {

//这儿添加建表语句

               db.execSQL("你的SQL语句");

}


@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}

/**
* 执行一条SQL语句
* @param sql
*/
public void executeSQL(String sql)
{
SQLiteDatabase db = null;
try{
db = this.getWritableDatabase();
db.execSQL(sql);
}catch(Exception e){
e.printStackTrace();
}finally{
db.close();
}
}

/**
* 执行一条SQL语句,返回一个游标
* @param sql
* @return
*/
public Cursor executeSQLwithCursorReturn(String sql)
{
Cursor retCursor = null;
SQLiteDatabase db = null;
try{
db = this.getReadableDatabase();
retCursor = db.rawQuery(sql, null);
}catch(Exception e){
Log.d("qiaoning_debug", "DB ERROR");
e.printStackTrace();
}
return retCursor;
}


/**
* 执行一条SQL语句,判断是否存在该记录,存在返回true,不存在返回false
* @param sql
* @return
*/
public boolean isExist(String sql)
{
boolean retBoolean = false;
Cursor c = null;
SQLiteDatabase db = null;
try{
db = this.getReadableDatabase();
c = db.rawQuery(sql, null);
if(c.getCount() == 0)
{
retBoolean = false;
}
else
{
retBoolean = true;
}
}catch(Exception e){
Log.e("ERROR", e.toString());
//e.printStackTrace();
}finally{
db.close();
}
return retBoolean;
}

/**

* @param table
* @param columns
* @param selection
* @param selectionArgs
* @param groupBy
* @param having
* @param orderBy
* @return
*/
public Cursor select(String table,String[] columns,String selection,
String[] selectionArgs,String groupBy,String having,String orderBy)
{
SQLiteDatabase db = null;
Cursor cursor = null;
try {
db = this.getReadableDatabase();
cursor = db.query(table, columns, selection, selectionArgs, groupBy, having, orderBy);
} catch (Exception e) {
// TODO: handle exception
}finally{
db.close();
}
return cursor;
}

/**

* @param table
* @param fields
* @param values
* @return the row ID of the newly inserted row, or -1 if an error occurred
*/
public long insert(String table, String[] fields, String[] values)
{
SQLiteDatabase db = this.getWritableDatabase();
ContentValues cv = new ContentValues();
for(int i = 0;i < fields.length;i ++)
{
cv.put(fields[i], values[i]);

return db.insert(table, null, cv);
}

/**

* @param table
* @param cv
* @return the row ID of the newly inserted row, or -1 if an error occurred 
*/
public long insertWithContentValues(String table,ContentValues cv)
{
SQLiteDatabase db = this.getWritableDatabase();
long i = 0;
i = db.insert(table, null, cv);
db.close();
return i;
}
/**

* @param table
* @param cv
* @param whereClause
* @param whereArgs
* @return the number of rows affected 
*/
public int updateTableWithContentValues(String table,ContentValues cv,String whereClause,String[] whereArgs)
{
SQLiteDatabase db = this.getWritableDatabase();
int i = 0;
i = db.update(table, cv, whereClause, whereArgs);
return i;
}

/**
* @param table
* @param updateFields
* @param updateValues
* @param whereClause
* @param whereArgs
* @return
*/
public int update(String table,String[] updateFields,String[] updateValues,
String whereClause , String[] whereArgs)
{
SQLiteDatabase db = this.getWritableDatabase();
ContentValues cv = new ContentValues();
for(int i=0;i<updateFields.length;i++)
{
cv.put(updateFields[i], updateValues[i]);
}
return db.update(table, cv, whereClause, whereArgs);
}

/**
* @param table
* @param where
* @param whereArgs
* @return
*/
public int delete(String table,String where,String[] whereArgs)
{
SQLiteDatabase db = this.getWritableDatabase();
return db.delete(table, where, whereArgs);
}
@Override
public synchronized void close() {
// TODO Auto-generated method stub
super.close();
}


}

2
3
分享到:
评论

相关推荐

    Android数据库SQLite详解

    本文将深入探讨SQLite在Android中的使用,包括基本概念、数据库操作以及实际应用示例。 ### 1. SQLite基本概念 - **数据库**: 数据库是存储和组织数据的结构化系统,SQLite在Android中表现为一个数据库文件,扩展...

    Android SQLite数据库操作Demo

    在这个"Android SQLite数据库操作Demo"中,我们将探讨如何在Android应用中创建、查询、更新和删除SQLite数据库的数据。 1. **数据库初始化** 在Android中,我们通常通过扩展SQLiteOpenHelper类来初始化SQLite...

    Android开发中的SQLite数据库的增删改查工具类

    1. **SQLiteManager**: 这个类通常是对SQLite数据库操作的封装,提供一套简洁易用的API,用于简化数据库的交互。例如,它可能包含以下方法: - `insert`: 新增数据,利用`ContentValues`对象存储待插入的数据,通过...

    android SQLite 一个数据库创建多个表

    在Android系统中,每个应用程序都可以拥有自己的SQLite数据库,这对于存储和管理应用程序的数据非常有用。本篇文章将详细介绍如何在Android的SQLite数据库中创建多个表,并执行基本的CRUD(创建、读取、更新、删除)...

    android对sqlite数据库的操作

    在Android中,每个应用都可以有自己的SQLite数据库,数据存储在应用的私有目录下,确保了数据的安全性。 二、创建SQLite数据库 1. 创建`SQLiteOpenHelper`子类:在Android中,我们通常通过继承`SQLiteOpenHelper`类...

    arcgis for android 读取加载sqlite数据库.rar

    - **创建SQLite数据库**:首先,你需要在Android应用中创建SQLite数据库,这通常通过扩展SQLiteOpenHelper类来实现,包括onCreate()和onUpgrade()方法。 - **定义表结构**:在数据库中创建表,定义列名和数据类型...

    android操作数据库Sqlite源代码

    首先,SQLiteAdmin.rar可能包含一个用于管理SQLite数据库的工具类或者应用程序。这个工具通常会提供创建、打开、关闭数据库,以及执行SQL语句的功能。在Android中,我们通常会创建一个SQLiteOpenHelper的子类,如`...

    Android SQLite数据库操作demo

    本篇将基于一个名为"Android SQLite数据库操作demo"的示例项目,探讨如何在Android中进行SQLite数据库的相关操作。原作者的博客地址为http://blog.csdn.net/liuhe688/article/details/6715983。 首先,我们来看一下...

    SQLite(创建数据库)

    在创建SQLite数据库时,我们通常会经历以下步骤: 1. **安装SQLite库**:首先,你需要在开发环境中安装SQLite的库。对于不同的操作系统,安装方式有所不同。在Linux或macOS中,可以通过包管理器(如apt或brew)进行...

    Android之Sqlite数据库操作实例

    总的来说,Android的SQLite数据库操作涉及创建数据库和表、插入、查询、更新和删除数据等核心操作。开发者需要理解`SQLiteOpenHelper`的作用,熟悉SQL语句,并能灵活运用到具体场景中。通过这样的实践,你可以更好地...

    SQLite3数据库操作类1.66

    在标题提到的"SQLite3数据库操作类1.66"中,我们可以推断这是一个特定版本的针对SQLite3数据库的Java操作类库,用于简化开发者对SQLite3数据库的交互。这个类库可能包含了创建、查询、更新和删除数据的方法,以及...

    android sqlite数据库 demo code

    1. **SQLiteOpenHelper**: 这是Android中处理SQLite数据库的主要类,负责创建、升级和打开数据库。你需要创建一个继承自SQLiteOpenHelper的子类,并重写`onCreate()`和`onUpgrade()`方法。`onCreate()`会在数据库...

    Android数据库sqlite存储

    最后,`UserSQL` 文件名可能表示这是一个与用户信息相关的SQLite数据库操作类。在Android应用中,这个类可能包含了上述CRUD操作的具体实现,用于管理用户的姓名和电子邮件等信息。为了在应用中使用这些功能,你需要...

    android Sqlite数据库操作demo

    在这个"android Sqlite数据库操作demo"中,我们可以深入理解如何在Android应用中进行SQLite的增删改查操作。 首先,我们需要在Android项目中创建一个SQLite数据库。这通常通过继承SQLiteOpenHelper类来实现。...

    android基本SQLite数据库操作的增删改查demo

    在本示例"android基本SQLite数据库操作的增删改查demo"中,开发者创建了一个用于管理停车位查询的应用,其中涉及到了对SQLite数据库的基础操作:增加数据(Add)、查询数据(Query)、删除数据(Delete)以及修改...

    AndroidSqlite数据库操作封装SQLiteUtils.zip

    一个简单的基于Android的Sqlite数据库的操作封装,它有如下的好处:便捷地创建表和增添表字段灵活的数据类型处理通过操作对象来insert或者update表记录支持多种查询方式,支持多表自定义的复杂查询,支持分页查询支持...

    Android sqlite数据库操作通用框架AHibernate

    **Android SQLite 数据库操作通用框架 AHibernate** 在 Android 开发中,SQLite 是一个重要的本地数据存储解决方案,它是一个轻量级的数据库系统,适合于移动设备。为了简化对 SQLite 数据库的操作,开发者通常会...

    Android操作SQLite数据库Demo

    Android提供了`SQLiteOpenHelper`类来帮助我们管理SQLite数据库,包括数据库的创建、升级以及版本管理。我们需要创建一个继承自`SQLiteOpenHelper`的类,并重写`onCreate()`和`onUpgrade()`方法。`onCreate()`在...

    android sqlite可视化工具

    为了更方便地管理和操作SQLite数据库,开发者通常会借助一些可视化工具,例如“android sqlite可视化工具”。这类工具提供了图形化的界面,使得数据库的创建、查询、修改和管理变得更加直观和便捷。 “android ...

    Android SQLite数据库操作

    在Android应用开发中,SQLite是一个重要的组成部分,它是一个轻量级的、开源的、嵌入式的...总之,Android的SQLite数据库操作是一个关键技能,理解和熟练掌握这些基本操作将有助于构建高效、稳定的数据驱动型应用程序。

Global site tag (gtag.js) - Google Analytics