SQLite数据库
首先先建立SQLiteOpenHelper()的子类实现SQLiteOpenHelper中的OnCreate()方法和构造方法。 this class takes care of opening the database if it exists, creating it if it does not, and upgrading it as necessary. SQLiteOpenHelper()主要是提供数据库的对象,其中的getWriteableDatabase public class PersonSQLiteOpenHelper extends SQLiteOpenHelper
{
public PersonSQLiteOpenHelper(Context context)
{
super(context, "person.db", null, 1);
} /**
* 第一次被创建的时候调用的方法
*/
@Override
public void onCreate(SQLiteDatabase db)
{
db.execSQL("create table person(id primary key autoincrement,name varchar(20),number varchar(20)");
} @Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2)
{ } } 有了SQLiteOpenHelper的子类后,就可建立其引用hrelper,用引用获得数据库db=helper.getWritableDataBase();
Db.execSQL(“select * from table”);
建立与数据库操作相关的类(选择)
public class PersonDao
{
private PersonSQLiteOpenHelper helper; public PersonDao(Context context)
{
helper = new PersonSQLiteOpenHelper(context);
}
/**
*
* @param name
* @param number
*/
public void add(String name, String number)
{
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("insert into person(name,number) values(?,?)", new Object[] {
name, number });
db.close();
} /**
*
* @param name
* @return
*/
public boolean find(String name)
{
SQLiteDatabase db = helper.getReadableDatabase();
Cursor cursor = db.rawQuery("select *from person where name=?",
new String[] { name });
boolean result = cursor.moveToNext();
cursor.close();
db.close();
return result;
} /**
*
* @param name
* @param number
*/
public void update(String name, String number)
{
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("update person set number=? where name=?", new Object[] {
number, name });
db.close();
} /**
*
* @param name
*/
public void delete(String name)
{
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("delete from person where name=?", new Object[] { name });
db.close();
}
/**
*
* @return
*/
public List<Person> findAll()
{
SQLiteDatabase db = helper.getReadableDatabase();
Cursor cursor = db.rawQuery("select *from person", null);
ArrayList<Person> list = new ArrayList<Person>();
while (cursor.moveToNext())
{
int id = cursor.getInt(cursor.getColumnIndex("id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
String number = cursor
.getString(cursor.getColumnIndex("number"));
Person person = new Person(id, name, number);
list.add(person);
}
return list;
}
} 事物
//开启事物
db.beginTransaction();
try
{
//标记事物执行成功
db.setTransactionSuccessful();
} finally
{
db.endTransaction();
}

android怎么连接sqlite数据库?的更多相关文章

  1. Android Studio连接SQLite数据库与SQLite Studio实时同步的实现

    最近学习用到了android开发连接数据库这一块,发现连接成功后,都要先访问安卓项目的数据库路径data/data/项目/databases,然后把对应的db文件拷出来,再在SQLite的可视化工具中 ...

  2. Android版本升级同时Sqlite数据库的升级及之前数据的保留

    http://www.cnblogs.com/wang340/archive/2013/05/06/3063135.html http://www.eoeandroid.com/forum.php?m ...

  3. VS2010连接SQLite数据库

    Visual studio 2010及以上版本,连接SQLite数据库 1.在Sqlite开发站点下载SQLite的.exe安装包 Ctrl+F搜索这条语句:This is the only setu ...

  4. Android实例-操作sqlite数据库之Grid显示图片(XE8+小米2)

    结果: 1.数据库文件,记得打包到程序中(assets\internal\). 操作方法: 1.新建firemonkey mobile application①菜单->File->New- ...

  5. Python3实现连接SQLite数据库的方法

    本文实例讲述了Python3实现连接SQLite数据库的方法,对于Python的学习有不错的参考借鉴价值.分享给大家供大家参考之用.具体方法如下: 实例代码如下: ? 1 2 3 4 5 6 7 8 ...

  6. 一起学微软Power BI系列-使用技巧(6) 连接Sqlite数据库

    好久没有研究Power BI了,看到高飞大神弄的东西,太惭愧了.今天有个小东西,数据在Sqlite里面,想倒腾到Power BI Desktop里面折腾一下,结果发现还不直接支持.所以只好硬着头皮上去 ...

  7. Android存储之SQLite数据库

    Android存储之SQLite数据库数据库 创建数据库 package --; import android.content.Context; import android.database.sql ...

  8. Android 开发中 SQLite 数据库的使用

    SQLite 介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP, ...

  9. Android基础总结+SQlite数据库【申明:来源于网络】

    Android基础总结+SQlite数据库[申明:来源于网络] 基础总结篇之一:Activity生命周期:http://blog.csdn.net/liuhe688/article/details/6 ...

随机推荐

  1. 复利计算v6.0--web版--软件工程

    一.结对同伴 姓名:蔡舜 学号: 博客园地址:http://www.cnblogs.com/caishun/ http://www.cnblogs.com/caishun/p/5392896.html ...

  2. SQL Server中的连接查询【内连接,左连接,右连接,。。。】

    在查询多个表时,我们经常会用“连接查询”.连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志. 什么是连接查询呢? 概念:根据两个表或多个表的列之间的关系,从这些表中查询数据 ...

  3. Winform开发框架之客户关系管理系统(CRM)的开发总结系列1-界面功能展示

    一直以来,都希望整合一个以客户为中心的平台,有两个方面的考虑:一是实现客户数据.客户关系.客户管理等方面的整合,以便更好利用好客户的相关资源,发挥最大的营销效益:二是整合目前我的开发框架的所有模块和技 ...

  4. 自己通过Cygwin编译的windows下的redis3.2.6

    采用方法:https://my.oschina.net/maxid/blog/186506 方法中在3.2.6未找到src/redis.h文件 未修改 方法中 /deps/hiredis/net.c ...

  5. FreeBSD 9.1安装KMS 这是一个伪命题###### ,9....

    FreeBSD 9.1安装KMS 这是一个伪命题###### ,9.1的内核已经加入了KMS内核支持 需要更新ports中的xorg到打了补丁的版本,无意中发现了一个pkg源,这个事也搞定了 free ...

  6. Spring 接口代理 类代理

    1.Question Description : when you use @Transactional annotation and @RequiresPermissions annotation ...

  7. 解决SlidingMenu和SwipeBackLayout右滑事件冲突问题

    SwipeBackLayout向右滑动关闭当前Activity,SlidingMenu向右滑动则是打开menu部分.在同一个Activity中,当SlidingMenu处于打开状态时,此时向右滑动,事 ...

  8. LINUX重启MYSQL的命令

    LINUX重启MYSQL的命令 标签: mysqllinuxservice脚本web服务server 2010-06-25 10:21 62152人阅读 评论(0) 收藏 举报  分类: Linux( ...

  9. mysql grant all on *.* to xxx@'%' 报Access denied for user 'root'@'localhost'

    今日,开发反馈某台mysql服务器无法登陆,解决之后,远程登录后发现用户只能看到information_schema,其他均看不到. 故登录服务器执行: mysql> grant all on ...

  10. Plug-in 'org.eclipse.cdt.ui' contributed an invalid Menu Extension

    终于在mac上配置了最新的eclipse和adt(Win和Mac oxs通用),然后就Error Log报这种错误,运行了hello word,没有影响,但是依旧有这种错误! 记录下错误: eclip ...