SQLiteDatabase 和 SQLiteOpenHelper

SQLiteDatabase类可以执行SQL语句,对数据库进行增删改查。

SQLiteOpenHelper是一个辅助类,帮助SQLiteDatabase获取对数据库的操作权。它有两个重写的方法,一个是onCreate()创建数据库,另一个是OnUpgrage() 用户升级数据库使用

实例:

1.写一个SQLiteOpenHelper创建数据库:

创建数据的sql语句模式是:

名称的数据格式需要注意,特别是text类需要在使用的时候添加单引号,否则报错;

未免这种错失,可以使用占位符方式,看例子2

create table  XX (XX integer primary key autoincrement,XX text not null,XX integer not null)

package com.man.SQLiteDemoOne;

import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;

public class DBhelper extends SQLiteOpenHelper {

public DBhelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {            super(context, name, factory, 1);      }

@Override      public void onCreate(SQLiteDatabase db) {

db.execSQL("create table if not exists demo(_id integer primary key autoincrement,name text not null, age integer not null)");            db.execSQL("insert into demo(name,age)values(‘Tom‘,25)");      }

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

db.execSQL("drop table if exists demo");            onCreate(db);      }}

2.写一个增删改查的类以及其中的方法:

注意,text的引号使用

package com.man.SQLiteDemoOne;

import android.database.sqlite.SQLiteDatabase;

public class MyOperation {

private SQLiteDatabase db = null;

public MyOperation(SQLiteDatabase db) {

this.db = db;      }

public void insertData(String name, int age) {

db.execSQL("insert into demo (name,age) values(‘"+name+"‘,"+age+")");      }

public void deleteData(int id){

db.execSQL("delete from demo where _id="+id);      }

public void updateData(int id,String name ,int age){

db.execSQL("update demo set name=‘" + name+"‘,age=" + age + " where _id=" + id);      }

}

3.在main类中调用:

package com.man.SQLiteDemoOne;

import android.app.Activity;import android.database.sqlite.SQLiteDatabase;import android.os.Bundle;

public class MyActivity extends Activity {

@Override      public void onCreate(Bundle savedInstanceState) {            super.onCreate(savedInstanceState);            setContentView(R.layout.main);

DBhelper helper = new DBhelper(MyActivity.this, "dog.db", null, 1);            SQLiteDatabase db = helper.getWritableDatabase();            MyOperation operation = new MyOperation(db);

operation.updateData(10, "change", 55);            operation.deleteData(15);            operation.deleteData(14);            db.close();

}}

例子二:为了避免使用string的标点符号导致sql语句错误,用占位符

package com.example.SQlistDemoTwo;

import android.database.sqlite.SQLiteDatabase;

public class Methodss {

private SQLiteDatabase db;

public Methodss(SQLiteDatabase db) {            this.db = db;      }

public void insertData(String name,int age) {

Object[] item = new Object[]{name,age};            db.execSQL("insert into stu(name,age) values(?,?)",item);      }

public void updateData(int id,String name,int age){

Object[] items = new Object[]{name, age, id};            db.execSQL("update stu set name=?,age=? where id=?",items);      }

public void deleteData(int id) {

Object[] items = new Object[]{id};            db.execSQL("delete from stu where id=?",items);      }}

来自为知笔记(Wiz)

时间: 2024-10-13 02:31:27

SQLiteDatabase 和 SQLiteOpenHelper的相关文章

Android SQLiteDatabase帮助类SQLiteOpenHelper的使用

SQLiteOpenHelper是SQLiteDatabse的一个帮助类,用来管理数据的创建和版本更新.一般的用法是定义一个类继承SQLiteOpenHelper,并实现两个回调方法,OnCreate(SQLiteDatabase db)和onUpgrade(SQLiteDatabse, int oldVersion, int newVersion)来创建和更新数据库,我利用数据库做了一个类似电话本的功能,插入数据,查询数据,和删除数据,界面很丑,主要是讲解SQLiteOpenHelper类的用

使用 SQLiteOpenHelper 对数据库进行操作

SQLiteOpenHelper 是android提供的一个帮助类,这个类是抽象的,通过实现这个类,可以帮助开发者实现对SQLITE数据库的创建以及数据库版本管理,使用SQLiteOpenHelper打开数据库如果数据库存在则不创建,如果不存在则创建它(此时执行的是onCreate方法). public DatabaseHelper(Context context, String name, CursorFactory factory, int version) 第一个参数:Context类型,

SQLiteOpenHelper 源码

package com.tongyan.common.db; /** * Copyright (C) 2007 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a cop

android SQLite使用SQLiteOpenHelper类对数据库进行操作

链接地址:http://byandby.iteye.com/blog/835580 一. SQLite介绍 SQLite是android内置的一个很小的关系型数据库. SQLite的官网是http://www.sqlite.org/,可以去下载一些文档或相关信息. 博客中有一篇有稍微详细一点的介绍,大家可以去看一下. 二. SQLiteOpenHelper的使用方法 SQLiteOpenHelper是一个辅助类来管理数据库的创建和版本. 可以通过继承这个类,实现它的一些方法来对数据库进行一些操作

SQLiteOpenHelper操作SQLite数据库

package android.sqlite; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteDatabase.CursorFactory; /** * SQLiteOpenHelper是一个辅助类,用来管理数据库的

SQLite 在 Android 的应用

Android提供了创建和使用SQLite数据库的API(Application Programming Interface,应用程序编程接口). 在Android系统中,主要由类SQLiteDatabase和SQLiteOpenHelper对SQLite数据库进行管理和操作. (一)SQLiteOpenHelper类 SQLiteOpenHelper是SQLiteDatabase的一个帮助类,用来管理数据库的创建和版本的更新. 因为是个抽象类,所以必须创建一个类来继承它,并实现两个抽象的方法o

(数据库)SQLite的使用

数据库的应用相当广泛,可以应用在Java.Android.IOS.Windows等所有主要的操作系统上 SQLite虽然是轻量级的小引擎,但是能够支持高达2TB大小的数据库,其以单个文件的形式存在,以B-Tree的数据结构形式存储在磁盘,具有轻量级.独立性.隔离性.跨平台.多语言及接口.安全性等特点. 多个进程可以再统一时间从统一数据库读取数据,但只有一个可以写入数据 关于SQLite的数据类型:SQlite支持NULL(空值).INTEGER(整形值).REAL(浮点值).TEXT(字符串值)

《Andorid开源》greenDao 数据库orm框架

一 前言:以前没用框架写Andorid的Sqlite的时候就是用SQLiteDatabase ,SQLiteOpenHelper ,SQL语句等一些东西,特别在写SQL语句来进行 数据库操作的时候是一件很繁琐的事情,有时候没有错误提示的,很难找到错误的地方,即费力又花时间. 现在使用greenDao就可以避免那些繁琐的SQL文了,极大的简化了对Sqlite的操作. greenDao官方网址是:http://greendao-orm.com/ greenDao官方demo下载地址:https://

赵雅智:android教学大纲

带下划线为具体内容链接地址,点击后可跳转,希望给大家尽一些微薄之力,目前还在整理中 教学章节 教学内容 学时安排 备注 1 Android快速入门 2 Android模拟器与常见命令 3 Android用户界面设计 4 Android网络通信及开源框架引用 5 线程与消息处理 6 数据存储及访问 7 Android基本单元应用activity 8 Android应用核心Intent 9 资源访问 10 ContentProvider实现数据共享 11 BroadcastReceiver 12 S