【Android-数据库Sqlite】Sqlite数据库 增、删、改、查
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数据库 增、删、改、查的更多相关文章
- 简单的php数据库操作类代码(增,删,改,查)
这几天准备重新学习,梳理一下知识体系,同时按照功能模块划分做一些东西.所以.mysql的操作成为第一个要点.我写了一个简单的mysql操作类,实现数据的简单的增删改查功能. 数据库操纵基本流程为: 1 ...
- iOS FMDB的使用(增,删,改,查,sqlite存取图片)
iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...
- iOS sqlite3 的基本使用(增 删 改 查)
iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...
- 好用的SQL TVP~~独家赠送[增-删-改-查]的例子
以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化. 本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...
- django ajax增 删 改 查
具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...
- ADO.NET 增 删 改 查
ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...
- MVC EF 增 删 改 查
using System;using System.Collections.Generic;using System.Linq;using System.Web;//using System.Data ...
- python基础中的四大天王-增-删-改-查
列表-list-[] 输入内存储存容器 发生改变通常直接变化,让我们看看下面列子 增---默认在最后添加 #append()--括号中可以是数字,可以是字符串,可以是元祖,可以是集合,可以是字典 #l ...
- Android SQLite(1)简单示例-增,删,改,查
1.主要核心类,Sqlite编程要继承SQLiteOpenHelper import android.content.Context; import android.database.sqlite.S ...
- Django(十)模型:django模型类对数据库的:增/删/改/查、自关联、管理器、元选项(指定表名)
一.插入.更新和删除 调用一个模型类对象的save方法的时候就可以实现对模型类对应数据表的插入和更新. 调用一个模型类对象的delete方法的时候就可以实现对模型类对应数据表数据的删除. 二.自关联 ...
随机推荐
- HanLP分词工具中的ViterbiSegment分词流程
本篇文章将重点讲解HanLP的ViterbiSegment分词器类,而不涉及感知机和条件随机场分词器,也不涉及基于字的分词器.因为这些分词器都不是我们在实践中常用的,而且ViterbiSegment也 ...
- Win7 Eclipse 搭建spark java1.8(lambda)环境:WordCount helloworld例子
[学习笔记] Win7 Eclipse 搭建spark java1.8(lambda)环境:WordCount helloworld例子 lambda表达式是java8给我们带来的一个重量的新特性,借 ...
- uniapp如何使用阿里iconfont
1.将iconfont中需要的图标,添加到购物车,然后添加到自己的项目.生成在线代码. 2.点击下载至本地.然后解压后复制 iconfont.css 文件到你的项目. 3.复制第一步生成的代码,替换i ...
- SpingMVC使用小结
- Python 运算符与数据类型
Python 的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承.Py ...
- Vim 添加vimgdb支持
./configure --enable-gdb --prefix=/usr --enable-multibyte --enable-fontset --enable-xim --enable-gui ...
- VisualSVN Server 安装
1.去官网下载:https://www.visualsvn.com/server/download/ 2.安装: 修改为后: 3.开机自动启动.
- 使用2种python脚本工具将2个txt文档中的文字进行比较,并计算出Corr, WER正确率,准确率
一.准备: linux服务器,src2mlf.py rec2mlf.py HResults文件,1份源文件和1份需要对比的文件.文件放置于本人云盘 二.使用方法: 1. 对比工具 HResul ...
- 针对nginx应用场景的配置 知识整理
本文为转载,原文链接 前言 原本想写整理一篇针对nginx应用场景的相应配置,但发现已经有人整理了,而且写得非常不错,特意转过来 概论 Nginx 是一款面向性能设计的 HTTP 服务器,能反向代理 ...
- SQL SERVER 常用函数 学习笔记
1.字符串截取.字符串转数字 --Server.8.30 select SUBSTRING('SqlServer_2008',4,6) as DB, CONVERT(float,SUBSTRING(' ...