创建

layout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><Buttonandroid:id="@+id/create_database"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Create database"/></LinearLayout>

main

package demo.jq.com.databasetest;import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;/*** @author jim*/
public class MainActivity extends AppCompatActivity {/*** 引入数据库助手类*/private MyDatabaseHelper dbHelper;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);dbHelper = new MyDatabaseHelper(this,"BookStore.db",null,2);// 初始化创建按钮Button createDatabase = (Button) findViewById(R.id.create_database);// 设置点击事件createDatabase.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v) {// 执行写入数据库操作dbHelper.getWritableDatabase();}});}
}

helper

package demo.jq.com.databasetest;import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.Toast;/*** @author Jim*/public class MyDatabaseHelper extends SQLiteOpenHelper {public static final String CREATE_BOOK = "create table Book("+ "id integer primary key autoincrement,"+ "author text,"+ "price real,"  // 浮点型+ "pages integer,"+ "name text)"; // 文本类型public static final String CREATE_CATEGORY = "create table Category ("+ "id integer primary key autoincrement,"+ "category_name text,"+ "category_code integer)";private Context mContext;public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory,int version) {super(context,name,factory,version);mContext = context;}/*** 数据库创建的时候,才执行* 如果数据库已经存在,将不会执行这个方法* @param db*/@Overridepublic void onCreate(SQLiteDatabase db) {// 执行sql语句db.execSQL(CREATE_BOOK);db.execSQL(CREATE_CATEGORY);Toast.makeText(mContext,"Create succeeded",Toast.LENGTH_SHORT).show();}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {db.execSQL("drop table if exists Book");db.execSQL("drop table if exists Category");onCreate(db);}
}

添加数据

<Buttonandroid:id="@+id/add_data"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Add data"/>
        // 初始化添加数据按钮Button addData = (Button) findViewById(R.id.add_data);addData.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v) {SQLiteDatabase db = dbHelper.getWritableDatabase();ContentValues values = new ContentValues();// 开始组装第一条数据values.put("name","The Da Vinci Code");values.put("author","Dan Brown");values.put("pages",454);values.put("price",16.96);// 插入第一条数据db.insert("Book",null,values);// 开始组装第二条数据values.put("name","The Lost Symbol");values.put("author","Dan Brown");values.put("pages",510);values.put("price",19.95);// 插入第二条数据db.insert("Book",null,values);}});        

修改数据

<Buttonandroid:id="@+id/update_data"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Update data"/>
// 更改数据Button updateData = (Button) findViewById(R.id.update_data);updateData.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v) {SQLiteDatabase db = dbHelper.getWritableDatabase();ContentValues values = new ContentValues();values.put("price",18.95);// 修改数据db.update("Book",values,"id = ?",new String[] {"1"});}});

删除数据

  <Buttonandroid:id="@+id/delete_data"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Delete data"/>
 // 删除数据Button deleteData = (Button) findViewById(R.id.delete_data);deleteData.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v) {SQLiteDatabase db = dbHelper.getWritableDatabase();// 删除数据db.delete("Book","pages > ?",new String[] {"500"});}});

查询数据

<Buttonandroid:id="@+id/query_data"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Query data"/>
 // 查询数据Button queryData = (Button) findViewById(R.id.query_data);queryData.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v) {SQLiteDatabase db = dbHelper.getWritableDatabase();// 查询Book表中所有的数据Cursor cursor = db.query("Book",null,null,null,null,null,null);if (cursor.moveToFirst()) {do {// 遍历Cursor对象,取出数据String name = cursor.getString(cursor.getColumnIndex("name"));String author = cursor.getString(cursor.getColumnIndex("author"));int pages = cursor.getInt(cursor.getColumnIndex("pages"));double price = cursor.getDouble(cursor.getColumnIndex("price"));Log.d(TAG,"book name is "+name);Log.d(TAG,"book author is "+author);Log.d(TAG,"book pages is "+pages);Log.d(TAG,"book price is "+price);} while (cursor.moveToNext());}cursor.close();}});

安卓操作sqlite3,增删改查相关推荐

  1. oracle将查询结果声明为伪表,Oracle查询操作(增删改查,伪表,高级查询)实例讲解...

    SQL查询操作:增删改查 一.SQL操作符 算术操作符 + - * / 比较操作符 = != < > <= >= BETWEEN--AND IN LINK IS NULL 逻辑 ...

  2. js操作indexedDB增删改查示例

    js操作indexedDB增删改查示例 if ('indexedDB' in window) {// 如果数据库不存在则创建,如果存在但是version更大,会自动升级不会复制原来的版本var req ...

  3. mysql 中caption_Django-Model操作数据库(增删改查、连表结构)(示例代码)

    Django-Model操作数据库(增删改查.连表结构) 一.数据库操作 1.创建model表 基本结构 from django.db importmodelsclassuserinfo(models ...

  4. GridView的常用操作(增删改查)

    GridView的常用操作(增删改查) void BindData()         {             string sql = "select top 10 ID,jobno, ...

  5. golang连接mysql操作示例增删改查

    golang本身没有提供连接mysql的驱动,但是定义了标准接口供第三方开发驱动.这里连接mysql可以使用第三方库,第三方库推荐使用https://github.com/Go-SQL-Driver/ ...

  6. python pymysql实例_Python使用pymysql模块操作mysql增删改查实例分析

    Python使用pymysql模块操作mysql增删改查实例分析 发布时间:2020-09-30 16:42:12 来源:脚本之家 阅读:92 本文实例讲述了Python使用pymysql模块操作My ...

  7. Day 07 DjangoORM相关操作(增删改查)

    Day 07 DjangoORM相关操作(增删改查) 前提条件:配置数据库 **PROJECT.settings**.py DATABASES = {'default': {'ENGINE': 'dj ...

  8. Python列表及其基本的操作(增删改查)

    Python列表及其基本的操作(增删改查) 增 1.insert() 2.append() 3.extend() 删 1.del() 2.pop() 2.1pop() 2.2pop(索引) 3.rem ...

  9. Django-Model操作数据库(增删改查、连表结构)参考

    一.数据库操作 1.创建model表 基本结构 1 2 3 4 5 6 from django.db import models class userinfo(models.Model): #如果没有 ...

  10. 批量模糊查询_Django之ORM表高级操作、增删改查、F/Q查询等

    目录 一.如何开启自己的测试脚本? 二.对表数据的添加.更新.删除1.create()变态操作之批量插入数据2.update()3.delete()4.如何查看QuerySet对象执行的sql语句?5 ...

最新文章

  1. 面试官: 谈谈什么是守护线程以及作用 ?
  2. Linux质数合数的脚本,python输出100以内的质数与合数实例代码
  3. 电路计算机辅助设计上海电力学院,上海电力学院电路计算机辅助设计二端口电路的设计.doc...
  4. RL之SARSA:利用强化学习之SARSA实现走迷宫—训练智能体走到迷宫(复杂陷阱迷宫)的宝藏位置
  5. EMNLP 2020 | 基于Wasserstein距离的正则化序列表示
  6. 从傅里叶分析角度解读深度学习的泛化能力
  7. C++常用的系统函数
  8. javascript中实例对象和构造函数关系、原型语法、原型链、call实现继承、apply调用函数、bind拷贝函数、拷贝继承、class类、super、严格模式、高阶函数、闭包、递归、es6简介
  9. elementUI响应式布局@media:基于断点的隐藏类
  10. STM32 连续操作flash
  11. 荣耀正式加入GSMA 成为其企业成员单位
  12. blur失焦方法会触发两次_教程 | ARAMIS光学测量系统散斑制作与光学应变测量方法...
  13. 使用阿里云镜像加速器--docker
  14. 百度ueditor富文本--配置图片上传
  15. 教你简单3步搞定——微信快速添加个人表情包
  16. ceph存储 FC HBA、iSCSI HBA、以太网卡3者区别
  17. 服务器网卡不显示了,重装系统后网络适配器怎么不见了?没有网络适配器解决方法...
  18. 介绍几种初学者学习电脑入门知识的方法
  19. Redis数据库(入门)
  20. 高效人士的七个好习惯

热门文章

  1. ALGO-162——Airport Configuration
  2. django ORM中的RelatedManager(关联管理器)
  3. 状压dp之二之三 炮兵阵地/玉米田 By cellur925
  4. C语言中,scanf与scanf_s的简单区别
  5. [Python] isinstance() for checking object type
  6. python 流程控制if判断
  7. 代理类Proxy------ WeakHashMap----ReferenceQueue---- Reference
  8. github和gitlab仓库一起使用
  9. struts2+spring3+hibernate3+mysql简单登录实现
  10. 安卓APP_ 四大基本组件(1)—— Activity