`
gryphone
  • 浏览: 433640 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

SQLiteDatabase 使用

阅读更多

SQLiteDatabase

 

[功能]

SQLiteDatabase 是关于数据库操作的 可用于 insert delete update query 等操作 可惜美中不足的是:

1. 其不支持创建数据库

2. 其不支持版本更新 或者说其不知道如何做 因为具体数据的差异

 

鉴于以上的缺陷 有一个辅助类可以完成上面功能 那就是:SQLiteOpenHelper

 

 

[代码]

1. 定义SQLiteOpenHelper 并完成 创建 更新 功能

public class DBHelper extends SQLiteOpenHelper {
    
    public static final String TB_NAME = "mycountry";
    public static final String ID = "_id";
    public static final String COUNTRY = "country";
    public static final String CODE = "code";
    
    
    public DBHelper(Context context, String name, 
            CursorFactory factory,int version) {
        super(context, name, factory, version);
    }

    public void onCreate(SQLiteDatabase db) {
        
    	db.execSQL("CREATE TABLE IF NOT EXISTS " 
                + TB_NAME + " (" 
        		+ ID + " INTEGER PRIMARY KEY," 
        	    + COUNTRY + " VARCHAR,"
        	    + CODE + " INTEGER)");
    }

    public void onUpgrade(SQLiteDatabase db, 
            int oldVersion, int newVersion) {
        
        db.execSQL("DROP TABLE IF EXISTS "+TB_NAME);
        onCreate(db);
    }
}

 

 

 

 

2. 从SQLiteOpenHelper 得到SQLiteDatabase的实例

DBHelper helper = new DBHelper(this, DB_NAME, null, VERSION);

SQLiteDatabase db = helper.getWritableDatabase();

 

 

 

3. SQLiteDatabase 的一些操作:

* 插入数据:

ContentValues values = new ContentValues();
        values.put(DBHelper.COUNTRY, "中国");
        values.put(DBHelper.CODE, 86);
        db.insert(DBHelper.TB_NAME,DBHelper.ID, values);

 

 

* 改动数据

db.insert(DBHelper.TB_NAME,DBHelper.ID,null);
        values.clear();
        values.put(DBHelper.COUNTRY, "意大利");
        values.put(DBHelper.CODE, 39);
        db.update(DBHelper.TB_NAME, values,DBHelper.ID + " = 2",null);

 

* execSQL 执行SQL语言

db.execSQL("INSERT INTO "
                + DBHelper.TB_NAME + "("
                + DBHelper.COUNTRY + ","
                + DBHelper.CODE + ") VALUES "
                + "('洪都拉斯',504)");

 

* 查询数据

Cursor c = db.query(DBHelper.TB_NAME,null,null,null,null,null,
        		DBHelper.CODE+" DESC");

 

* 删除数据所有数据

db.delete(DBHelper.TB_NAME,null,null);

 

 

 

 

done!

分享到:
评论
13 楼 012345. 2011-01-09  
请问SQLite数据库是否支持异步插入数据

如果可以,该如何实现

多谢


补充,想到update这个方法,但是好像不行,因为我要添加的数据,是个数组,经度和纬度
12 楼 xuehui.hf 2010-06-29  
<div class="quote_title">gryphone 写道</div>
<div class="quote_div">
<p>SQLiteDatabase </p>
<p> </p>
<p>[功能]</p>
<p>SQLiteDatabase 是关于数据库操作的 可用于 insert delete update query 等操作 可惜美中不足的是:</p>
<p>1. 其不支持创建数据库</p>
<p>2. 其不支持版本更新 或者说其不知道如何做 因为具体数据的差异</p>
<p> </p>
<p>鉴于以上的缺陷 有一个辅助类可以完成上面功能 那就是:SQLiteOpenHelper</p>
</div>
<p> </p>
<p>我觉得这不能说是SQLiteDatabase的缺陷吧,这是设计成这样的。SQLiteDatabase提供数据访问功能,SQLiteOpenHelper完成数据库的管理功能。</p>
11 楼 bit6211 2010-06-23  
请问SQLiteDatabase可以建立索引吗  如何建立 谢谢
10 楼 gryphone 2010-05-15  
l101y1982j 写道
我很好奇的问问sqlite里的模糊查询,如何做?

我写
query(tableName,null,"subject like '%?%'","9",null,null,null)

query(tableName,null,"subject like ?","%9%",null,null,null)

query(tableName,null,"subject like %?%","9",null,null,null)

都被报了sqliteException:snytax error~

请参考这个:
http://griffinshi.iteye.com/blog/666875
9 楼 l101y1982j 2010-05-14  
我很好奇的问问sqlite里的模糊查询,如何做?

我写
query(tableName,null,"subject like '%?%'","9",null,null,null)

query(tableName,null,"subject like ?","%9%",null,null,null)

query(tableName,null,"subject like %?%","9",null,null,null)

都被报了sqliteException:snytax error~
8 楼 tianlinzx 2010-05-11  
怎么连接 远程 数据库啊,比如 PC机上的 mysql数据库,用wifi连接网络??
7 楼 ostrichmyself 2010-04-24  
多谢lz提供的源码,顺便指出一下, 源码的xml有一个笔误:

EditTex 少了一个t(EditTexT)
6 楼 gryphone 2010-03-04  
SQLiteOpenHelper
1002840471 写道
SQLiteDatabase.openOrCreateDatabase()这个方法不是可以创建数据库么,那么
SQLiteOpenHelper和SQLiteDatabase的主要区别是什么啊?

SQLiteDatabase 自身提供了对数据库进行 增加 删除 更新 等操作的接口 但是也存在一些不足 比如:
1. 不支持创建数据库
2. 数据库版本升级 没有办法 因为数据各种各样 依赖于自己的实现

而SQLiteOpenHelper就弥补上述不足

个人感觉:
SQLiteDatabase 提供了数据操作的接口
SQLiteOpenHelper 干一些打杂工作

仅限个人理解
5 楼 1002840471 2010-03-04  
SQLiteDatabase.openOrCreateDatabase()这个方法不是可以创建数据库么,那么
SQLiteOpenHelper和SQLiteDatabase的主要区别是什么啊?
4 楼 gryphone 2010-01-25  
wuliupo 写道
请问您的Android开发环境是怎么搭建的,下面这些包/类来自那里啊
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
谢谢!

wuliupo 写道
请问您的Android开发环境是怎么搭建的,下面这些包/类来自那里啊
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
谢谢!

我的环境与程序 设定:
1. sdk: android-sdk-windows-1.5_r2
2. Build target: Android 1.5
3 楼 wuliupo 2010-01-25  
请问您的Android开发环境是怎么搭建的,下面这些包/类来自那里啊
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
谢谢!
2 楼 gryphone 2010-01-23  
zzsczz 写道
用otl的漂过。。

no idea on this~~~
1 楼 zzsczz 2010-01-21  
用otl的漂过。。

相关推荐

    Android数据库SQLiteDataBase的使用

    因为数据库的操作在开发中的重要性是不言而喻的,所以,在数据库这一方面下了很大的功夫,终于掌握了基本的操作,包括建表和删除,对数据库的操作,“增删改查”基本操作,而且用了封装性来实现,是学习数据库的一个...

    android开发sqliteDataBase使用实例

    本教程将深入讲解如何在Android项目中使用SQLite数据库。 首先,我们需要创建一个SQLite数据库。在Android中,我们通过继承`SQLiteOpenHelper`类来实现这个功能。`SQLiteOpenHelper`提供了创建、升级和打开数据库的...

    实例讲解Android中SQLiteDatabase使用方法

    本文将通过一个实例详细介绍如何在Android中使用SQLiteOpenHelper和SQLiteDatabase进行数据库操作。 首先,要使用SQLite数据库,你需要创建一个继承自SQLiteOpenHelper的类。这个类会处理数据库的创建、升级以及...

    Sqlite及SQLiteDatabase的使用

    在实际使用中,可以通过SQLiteDatabase的`rawQuery()`或`execSQL()`方法执行这些SQL命令。 在Android中,数据库操作通常在后台线程进行,以避免阻塞UI线程,提高用户体验。可以使用SQLiteOpenHelper这个辅助类来...

    Android 数据库SQLiteDatabase的使用

    Android 数据库SQLiteDatabase的使用 1.数据库辅助操作接口SQLiteDatabaseOpenHelper的使用 2.ContentValues的使用 3.数据的增删改查 4.listView 与Adapter的使用 5.OptionsMenu的使用 6.Editext隐藏失去焦点的方法

    listView SQLiteDatabase的使用

    假设我们使用ArrayAdapter,我们需要创建一个自定义的`MyAdapter`类,继承自ArrayAdapter,它会根据数据填充ListView的每个项目。 ```java public class MyAdapter extends ArrayAdapter&lt;String&gt; { public ...

    Android SQLiteDatabase的使用详解

    ### Android SQLiteDatabase的使用详解 在Android开发过程中,`SQLiteDatabase`是进行本地数据存储的核心类之一,它提供了创建和查询SQLite数据库的方法。SQLite是一种轻量级的嵌入式数据库引擎,广泛应用于移动...

    Android使用SQLiteDatabase直接存取数据与图像

    在这个主题中,我们将深入探讨如何在Android环境下使用SQLiteDatabase来直接存取数据和图像。 首先,要使用SQLite数据库,我们需要创建一个SQLiteOpenHelper的子类。这个类有两个关键方法:`onCreate()` 和 `...

    SQLiteDatabase

    封装库"SQLiteDatabase"可能包含了这些功能,并提供了更简洁的API,比如使用C++的类和方法,而不是直接调用C接口。例如,它可能会有如下类和方法: - `SQLiteDB`类,代表一个数据库连接,有`open()`和`close()`方法...

    androidDb.rar_ SQLiteDatabase_SQLiteDatabase_android

    在本例"androidDb.rar_ SQLiteDatabase_SQLiteDatabase_android"中,我们将探讨如何在Android应用中使用SQLite数据库。 SQLite数据库的核心类是`SQLiteDatabase`,它是Android提供的一个接口,用于执行SQL语句和...

    SqliteDatabase应用

    本文将深入探讨如何使用`SqliteDatabase`进行数据库操作,并结合`Menu`来实现查询、新增、修改和删除功能。 首先,`SqliteDatabase`是Android提供的一个轻量级数据库引擎,它基于SQLite,支持大部分SQL语法。为了...

    安卓开发实验6——SQLite和SQLiteDatabase应用

    3. **插入数据**:使用SQLiteDatabase的`insert()`方法将新闻信息添加到数据库。创建ContentValues对象来存储键值对,然后调用`insert()`方法。 ```java ContentValues values = new ContentValues(); values.put...

    实验七SQLite和SQLiteDatabase的使用.docx

    【实验七:SQLite和SQLiteDatabase的使用】 在Android开发中,SQLite是一个不可或缺的组件,用于存储和管理应用程序的结构化数据。SQLite是一个轻量级的、嵌入式的、支持事务的SQL数据库引擎,特别适合资源有限的...

    sqlitedatabase的使用

    本教程将详细讲解如何使用SQLite数据库来保存用户的登录信息,并在不同的Activity之间进行数据传递和展示。 首先,我们需要在Android项目中创建一个SQLite数据库。这通常通过实现`SQLiteOpenHelper`类来完成。这个...

    SQLiteDataBase简单Android实例

    在这个"SQLiteDataBase简单Android实例"中,我们将深入探讨如何在Android应用中有效地利用SQLite进行数据操作。 首先,我们需要创建一个SQLite数据库。在Android中,我们通常通过继承`SQLiteOpenHelper`类来实现。...

    SQLitedatabase的工程练习源码

    然后,我们可以使用`SQLiteDatabase`对象执行SQL查询、插入、更新和删除操作。 例如,插入一条数据的代码可能如下: ```java public boolean insertData(String name, int age) { SQLiteDatabase db = this....

    db.rar_DEMO_SQLiteDatabase_sqlite

    一个关于SQLite数据库操作的android应用demo,通过本应用你可以学到:使用SQLiteDatabase操作SQLite数据库,使用SQLiteOpenHelper获取用于操作数据库的SQLiteDatabase实例

    SQLiteDatabase增删改查示例代码

    本示例主要关注`SQLiteDatabase`的增删改查操作,并且对比了Android自带的SQLite API与第三方库greenDao的使用方法。 一、`SQLiteDatabase`的基本操作 1. 增加(Add):在Android中,我们首先需要创建一个...

    android studio SQLiteDatabase的基本功能与操作

    下面将详细介绍如何在Android Studio中使用SQLiteDatabase进行基本的功能与操作。 首先,我们需要在AndroidManifest.xml文件中添加读写权限,以允许应用访问SQLite数据库: ```xml ``` 接着,创建一个继承自...

Global site tag (gtag.js) - Google Analytics