SQLiteOpenHelper主要用于 创建数据库

SQLiteDatabase 主要用于 执行sql语句

  1. 程序内使用SQLite数据库是通过SQLiteOpenHelper进行操作
  2. 1.       自己写个类继承SQLiteOpenHelper,重写以下3个方法
  3. public void onCreate(SQLiteDatabase db)
  4. {//创建数据库时的操作,如建表}
  5. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
  6. {
  7. //版本更新的操作
  8. }
  9. 2.    通过SQLiteOpenHelper的getWritableDatabase()获得一个SQLiteDatabase数据库,以后的操作都是对SQLiteDatabase进行操作。
  10. 3.       对得到的SQLiteDatabase对象进行增,改,删,查等操作。
  11. 代码
  12. package cx.myNote;
  13. import android.content.ContentValues;
  14. import android.content.Context;
  15. import android.content.Intent;
  16. import android.database.Cursor;
  17. import android.database.sqlite.SQLiteDatabase;
  18. import android.database.sqlite.SQLiteOpenHelper;
  19. //DBOptions for login
  20. public class DBOptions {
  21. private static final String DB_NAME = "notes.db";
  22. private static final String DB_CREATE="create table logininf(name text,pwd text)";
  23. public class DBHelper extends SQLiteOpenHelper
  24. {
  25. public DBHelper(Context context) {
  26. super(context,DB_NAME, null, 1);
  27. }
  28. @Override
  29. public void onCreate(SQLiteDatabase db) {
  30. // TODO Auto-generated method stub
  31. //建表
  32. db.execSQL(DB_CREATE);
  33. }
  34. @Override
  35. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  36. // TODO Auto-generated method stub
  37. db.execSQL("drop table if exists logininf");
  38. onCreate(db);
  39. }
  40. }
  41. private Context context;
  42. private SQLiteDatabase db;
  43. private DBHelper dbHelper;
  44. public  DBOptions(Context context)
  45. {
  46. this.context = context;
  47. dbHelper = new DBHelper(context);
  48. db=dbHelper.getReadableDatabase();
  49. }
  50. //自己写的方法,对数据库进行操作
  51. public String getName()
  52. {
  53. Cursor cursor = db.rawQuery("select name from logininf", null);
  54. cursor.moveToFirst();
  55. return cursor.getString(0);
  56. }
  57. public int changePWD(String oldP,String pwd)
  58. {
  59. ContentValues values = new ContentValues();
  60. values.put("pwd", pwd);
  61. return db.update("logininf", values,"pwd="+oldP, null);
  62. }
  63. }

insert方法插入的一行记录使用ContentValus存放,ContentValues类似于Map,它提供了put(String key, Xxx value)(其中key为数据列的列名)方法用于存入数据、getAsXxxx(String key)方法用于取出数据。

转载自 http://blog.csdn.net/wangqilin8888/article/details/7780228

SQLite使用方法 SQLiteOpenHelper操作(转)的更多相关文章

  1. ThinkPHP—URL的访问以及各种方法的操作

    1.URL访问 ThinkPHP采用单一入口模式访问应用,对应用的所有请求都定向到应用的入口文件,系统会从URL参数中解析当前请求的模块.控制器和操作,下面是一个标准的URL访问格式: 第一种访问方式 ...

  2. [python爬虫] Selenium常见元素定位方法和操作的学习介绍(转载)

    转载地址:[python爬虫] Selenium常见元素定位方法和操作的学习介绍 一. 定位元素方法 官网地址:http://selenium-python.readthedocs.org/locat ...

  3. time strptime()方法 时间操作

    Python time strptime()方法 时间操作   描述 Python time strptime() 函数根据指定的格式把一个时间字符串解析为时间元组. 语法 strptime()方法语 ...

  4. 【JavaWeb】【JSP】【Bean】JavaBean基础使用方法与操作步骤

    JavaBean基础使用方法与操作步骤 JavaWeb jsp Bean 项目结构 JavaBean的概念 JavaBean是可复用的.平台独立的软件组件 JavaBean既可以是简单的GUI要素,如 ...

  5. Android下的SQLite数据库的相关操作及AndroidTestCase测试

    一:创建数据库 package com.itcode.mysqlite; import android.content.Context; import android.database.sqlite. ...

  6. Android几种打开SQLite的方法

    第一种:用SQLiteOpenHelper辅助类 SQLiteOpenHelper类可以用来创建或打开数据库,两个关键的方法:onCreate(SQLiteDatabase db)和onUpgrade ...

  7. C#连接SQLite数据库方法

    --结合Enterprise Library连接,操作SQLite 企业库是我们常用的框架之一,可以从http://entlib.codeplex.com/下载Enterprise Library 5 ...

  8. 在Android Studio中查看Sqlite的方法

    只说最好的方法,使用工具stetho:http://facebook.github.io/stetho/ 1.在Gragle中加上如下语句: dependencies { // Stetho core ...

  9. 安卓基础之Sqlite数据库最最基础操作

    Sqlite数据库基础操作 摘要:在应用中新建一个数据库,并创建一个数据表写入数据,然后读取表中数据并展示. 主要逻辑: 1.通过继承SQLiteOpenHelper自定义类,定制数据库的表结构,初始 ...

随机推荐

  1. 陷阱~EF中的Update与Insert共用一个数据上下文

    事情是这样的,有一个列表,里面有很多用户信息,可能会有重复的用户,将这个列表的用户插入到数据表中,如果用户已经存在,就更新这个用户的FillTimes 字段,让它加1,使用的底层ORM是entity ...

  2. Windows下安装配置SubVersion的简明步骤

    [使用的安装程序和文档说明] svn-1.4.0-setup.exe:Subversion服务端1.4.0安装程序: SubService.rar:  SubServe服务Windows辅助工具; T ...

  3. ASP.NET MVC学习笔记-----使用自定义的View Engine

    我们都知道在ASP.NET MVC中自带了Razor View Engine,Razor十分的强大,可以满足我们绝大部分的需要.但是ASP.NET MVC的高度可扩展性,使我们可以使用自定义的View ...

  4. 随鼠标移动的div

    <html> <head> <style type='text/css'> #d{ border:1px solid green; width:90px; heig ...

  5. 织梦channelid是什么?dede channel typeid有什么区别

    昨儿帮小伙伴整dedecms首页调用栏目文章,当时没注意用到的是channelid参数,修改了好多次赋值,新建了一个新的栏目获取id是156,添加栏目文章,把channelid改为156重新生成首页, ...

  6. LVS负载均衡集群服务搭建详解(一)

    LVS概述 1.LVS:Linux Virtual Server 四层交换(路由):根据请求报文的目标IP和目标PORT将其转发至后端主机集群中的某台服务器(根据调度算法): 不能够实现应用层的负载均 ...

  7. Linux system V

    Sysvinit 的小结 Sysvinit 的优点是概念简单.Service 开发人员只需要编写启动和停止脚本,概念非常清楚:将 service 添加/删除到某个 runlevel 时,只需要执行一些 ...

  8. Ubuntu上安装gtk2.0不能安装的问题,“下列的软件包有不能满足的依赖关系”

    zez@localhoss:~$ sudo apt-get install libgtk2.0-dev正在读取软件包列表... 完成正在分析软件包的依赖关系树       正在读取状态信息... 完成 ...

  9. FastCgi与PHP-fpm之间是个什么样的关系

    刚开始对这个问题我也挺纠结的,看了<HTTP权威指南>后,感觉清晰了不少. 首先,CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者. ...

  10. 使用pymongo需要手动关闭MongoDB Connection吗?

    答:Disconnecting will close all underlying sockets in the connection pool. If this instance is used a ...