1、先创建一个Product类 Product.java

变量如下:

    int id;
String code;
String name;
int qty;

2、创建一个DBHelper类 DBHelper.java

DBHelper类继承于SQLiteOpenHelper ,创建一个test.db的数据库,创建一张product表,并对product表进行增删改查操作。

import java.util.ArrayList;
import java.util.HashMap; import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper; public class DBHelper extends SQLiteOpenHelper { public final static String DB_NAME = "test.db";
public final static int VERSION = 1;
private static DBHelper instance = null;
private SQLiteDatabase db; public static DBHelper getInstance(Context context) {
if (instance == null) {
instance = new DBHelper(context);
}
return instance;
} private void openDatabase() {
if (db == null) {
db = getWritableDatabase();
}
} private DBHelper(Context context) {
super(context, DB_NAME, null, VERSION);
} /** 第一次安装程序后创建数据库 */
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table product (_id integer primary key autoincrement,code text,name text,qty Integer )");
} /** 版本升级时,先删除原有的数据库,再重新创建数据库 */
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("drop table if exist product");
onCreate(db);
} /** 添加一条数据 */
public long saveLamp(Product pro) {
ContentValues value = new ContentValues();
value.put("code", pro.getCode());
value.put("name", pro.getName());
value.put("qty", pro.getQty());
return db.insert("product", null, value);
} /** 根据id删除数据 */
public int deleteLamp(int id) {
return db.delete("product", "_id=?", new String[] { String.valueOf(id) });
} /** 根据id更新数据 */
public int updateLamp(Product pro, int id) {
ContentValues value = new ContentValues();
value.put("code", pro.getCode());
value.put("name", pro.getName());
value.put("qty", pro.getQty());
return db.update("product", value, "_id=?", new String[] { String.valueOf(id) });
} /** 查询所有数据 */
public ArrayList<HashMap<String, Object>> getLampList() {
openDatabase();
Cursor cursor = db.query("product", null, null, null, null, null, null);
ArrayList<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
while (cursor.moveToNext()) {
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("id", cursor.getInt(cursor.getColumnIndex("_id")));
map.put("code", cursor.getString(cursor.getColumnIndex("code")));
map.put("name", cursor.getString(cursor.getColumnIndex("name")));
map.put("qty", cursor.getString(cursor.getColumnIndex("qty")));
list.add(map);
}
return list;
} /** 根据编码查询数据 */
public Product getALamp(String code) {
openDatabase();
Cursor cursor = db.query("product", null, "code=?", new String[] { code }, null, null, null);
Product pro = new Product();
while (cursor.moveToNext()) {
pro.setId(cursor.getInt(cursor.getColumnIndex("_id")));
pro.setCode(cursor.getString(cursor.getColumnIndex("code")));
pro.setName(cursor.getString(cursor.getColumnIndex("name")));
pro.setQty(cursor.getInt(cursor.getColumnIndex("qty")));
}
return pro;
} /** 查询有多少条记录 */
public int getLampCount() {
openDatabase();
Cursor cursor = db.query("product", null, null, null, null, null, null);
return cursor.getCount();
} }

3、测试数据 MainActivity .java

import java.util.ArrayList;
import java.util.HashMap; import android.app.Activity;
import android.os.Bundle;
import android.util.Log; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
exec();// 测试数据 } private void exec() {
/** 添加数据 */
Product product1 = new Product("pingguo", "红富士苹果", 100);
long sucess1 = DBHelper.getInstance(MainActivity.this).saveLamp(product1);
Log.d("test", "sucess=" + sucess1);
if (sucess1 > 0) {
// "添加成功!"
} else {
// "添加失败,请重新操作!"
} /** 修改数据 */
Product product2 = new Product("pingguo", "红富士苹果", 100);
int updateId = 5;
int sucess2 = DBHelper.getInstance(MainActivity.this).updateLamp(product2, updateId);
if (sucess2 > 0) {
// "修改成功!"
} else {
// "修改失败,请重新操作!"
} /** 删除数据 */
int deleteId = 5;
int sucess = DBHelper.getInstance(MainActivity.this).deleteLamp(deleteId);
if (sucess > 0) {
// "删除成功!"
} else {
// "删除失败!"
} /** 获取表记录数 */
int count = DBHelper.getInstance(MainActivity.this).getLampCount(); /** 获取所有数据 */
ArrayList<HashMap<String, Object>> data = DBHelper.getInstance(MainActivity.this).getLampList(); }
}

【Android-数据库Sqlite】Sqlite数据库 增、删、改、查的更多相关文章

  1. 简单的php数据库操作类代码(增,删,改,查)

    这几天准备重新学习,梳理一下知识体系,同时按照功能模块划分做一些东西.所以.mysql的操作成为第一个要点.我写了一个简单的mysql操作类,实现数据的简单的增删改查功能. 数据库操纵基本流程为: 1 ...

  2. iOS FMDB的使用(增,删,改,查,sqlite存取图片)

    iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...

  3. iOS sqlite3 的基本使用(增 删 改 查)

    iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...

  4. 好用的SQL TVP~~独家赠送[增-删-改-查]的例子

    以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化.  本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...

  5. django ajax增 删 改 查

    具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...

  6. ADO.NET 增 删 改 查

    ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...

  7. MVC EF 增 删 改 查

    using System;using System.Collections.Generic;using System.Linq;using System.Web;//using System.Data ...

  8. python基础中的四大天王-增-删-改-查

    列表-list-[] 输入内存储存容器 发生改变通常直接变化,让我们看看下面列子 增---默认在最后添加 #append()--括号中可以是数字,可以是字符串,可以是元祖,可以是集合,可以是字典 #l ...

  9. Android SQLite(1)简单示例-增,删,改,查

    1.主要核心类,Sqlite编程要继承SQLiteOpenHelper import android.content.Context; import android.database.sqlite.S ...

  10. Django(十)模型:django模型类对数据库的:增/删/改/查、自关联、管理器、元选项(指定表名)

    一.插入.更新和删除 调用一个模型类对象的save方法的时候就可以实现对模型类对应数据表的插入和更新. 调用一个模型类对象的delete方法的时候就可以实现对模型类对应数据表数据的删除. 二.自关联 ...

随机推荐

  1. #【Python】【demo实验34】【练习实例】【设置文本的颜色】

    原题: 文本颜色设置. 我的代码 #!/usr/bin/python # encoding=utf-8 # -*- coding: UTF-8 -*- # 文本颜色设置. class bcolors: ...

  2. POJ 1742 (单调队列优化多重背包+混合背包)

    (点击此处查看原题) 题意分析 给你n种不同价值的硬币,价值为val[1],val[2]...val[n],每种价值的硬币有num[1],num[2]...num[n]个,问使用这n种硬币可以凑齐[1 ...

  3. gitlab安装指南(gitlab-ce-9.4.3-ce.0.el7.x86_64 centos7)

    1,安装gitlab wget https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-9.4.3-ce.0.el7. ...

  4. WPF DataGrid控件中某一列根据另一个文本列的值显示相应的模板控件

    之前做项目的时候需要实现这样一个功能.WPF DataGrid有两列,一列为"更新状态”列,一列为"值"列,如果"更新状态"列的值为“固定值更新”,则 ...

  5. 【kmp】似乎在梦中见过的样子

    参考博客: BZOJ 3620: 似乎在梦中见过的样子 [KMP]似乎在梦中见过的样子 题目描述 「Madoka,不要相信QB!」伴随着Homura的失望地喊叫,Madoka与QB签订了契约. 这是M ...

  6. oracle基本查询01

    /*数据库-----> 数据库实例----->表空间[逻辑单位]------>数据文件[物理单位] 通常情况下oracle数据库只会有一个实例ORCL 新建一个项目: MYSQL:创 ...

  7. 【css】浅谈BFC

    定义: 块格式化上下文(Block Formatting Context,BFC) 是Web页面的可视化CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域. BFC的布 ...

  8. 14 Django之Form和Model Form组件

    一.什么是Form 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用 ...

  9. vue覆盖UI组件样式不生效

    检查检查是不是加了scoped 在vue中,我们需要引用子组件,包括ui组件(element.iview). 但是在父组件中添加scoped之后,在父组件中书写子组件的样式是无效果的. 去掉scope ...

  10. Oracle数据库(实例)删除用户和表空间

    删除用户drop user IMPLOCAL cascade; 删除表空间drop tablespace IMPLOCAL including contents and datafiles casca ...