本文来源于www.ifyao.com禁止转载!www.ifyao.com

Source code    
  1. package com.example.engine;
  2. import android.content.Context;
  3. import android.database.sqlite.SQLiteDatabase;
  4. import android.database.sqlite.SQLiteDatabase.CursorFactory;
  5. import android.database.sqlite.SQLiteOpenHelper;
  6. public class DBOpenHelper extends SQLiteOpenHelper {
  7. private final static String DB_NAME = "NFCAssistant.db";// 数据库名称
  8. private final static int DB_VERSION = 2;// 版本
  9. private final static String DB_USER_TABLE = "tbl_users";// 用户表
  10. private final static String DB_BatchEpment_TABLE = "tbl_batch";// 批量信息
  11. private final static String DB_LargeEpment_TABLE = "tbl_large";// 大型设备
  12. private final static String DB_LOG_TABLE = "tbl_log";// 日志
  13. public DBOpenHelper(Context context) {
  14. super(context, DB_NAME, null, DB_VERSION);
  15. }
  16. @Override
  17. public void onCreate(SQLiteDatabase db) {
  18. // TODO Auto-generated method stub
  19. // 用户表 角色1管理员2超级管理员
  20. String createTable = "CREATE TABLE " + DB_USER_TABLE + " ("
  21. + "Id integer PRIMARY KEY AUTOINCREMENT UNIQUE,"
  22. + "UserName varchar (10) NOT NULL UNIQUE,"
  23. + "PassWord varchar (49) NOT NULL,"
  24. + "Role varchar (10) DEFAULT 1" + ");";
  25. // 批量信息表
  26. String createTblBatchEpment = "CREATE TABLE " + DB_BatchEpment_TABLE
  27. + " (" + "Id integer PRIMARY KEY AUTOINCREMENT UNIQUE, "
  28. + "DeviceId integer NOT NULL UNIQUE,"
  29. + "Codes varchar (100) NOT NULL,"
  30. + "DeviceName varchar NOT NULL ," + "Price integer NOT NULL,"
  31. + "Custodian varchar NOT NULL," + "End_user varchar NOT NULL,"
  32. + "Time datatime NOT NULL" + ");";
  33. // 大型设备表
  34. String createTblLargeEpment = "CREATE TABLE " + DB_LargeEpment_TABLE
  35. + " (" + "Id integer PRIMARY KEY AUTOINCREMENT UNIQUE, "
  36. + "DeviceId integer NOT NULL UNIQUE,"
  37. + "DeviceName varchar NOT NULL ,"
  38. + "Codes varchar (100) NOT NULL," + "Price integer NOT NULL,"
  39. + "Custodian varchar NOT NULL," + "End_user varchar NOT NULL,"
  40. + "Time datatime NOT NULL," + "Location varchar NOT NULL"
  41. + ");";
  42. // 日志表
  43. String createTblLog = "CREATE TABLE " + DB_LOG_TABLE + " ("
  44. + "Id integer PRIMARY KEY AUTOINCREMENT UNIQUE, "
  45. + "UserName varchar NOT NULL ," + "DeviceId integer NOT NULL,"
  46. + "Time datatime NOT NULL" + ");";
  47. db.execSQL(createTable);
  48. db.execSQL(createTblBatchEpment);
  49. db.execSQL(createTblLargeEpment);
  50. db.execSQL(createTblLog);
  51. }
  52. @Override
  53. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  54. // TODO Auto-generated method stub
  55. db.execSQL("DROP TABLE IF EXISTS " + DB_USER_TABLE);
  56. db.execSQL("DROP TABLE IF EXISTS " + DB_BatchEpment_TABLE);
  57. db.execSQL("DROP TABLE IF EXISTS " + DB_LargeEpment_TABLE);
  58. db.execSQL("DROP TABLE IF EXISTS " + DB_LOG_TABLE);
  59. onCreate(db);
  60. }
  61. }

数据库操作帮助类

DBhelper继承sqliteDBhelper

实现父类的两个方法

Oncreate方法当创建数据库的时候执行

更新方法,当数据库版本更新时执行

Source code    
  1. package com.example.engine;
  2. import com.example.bean.BatchEpment;
  3. import android.content.Context;
  4. import android.database.sqlite.SQLiteDatabase;
  5. /**
  6. * 操作数据库事物
  7. *
  8. * @author ming
  9. *
  10. */
  11. public class DBService {
  12. private DBOpenHelper dbHelper;
  13. /**
  14. * 构造器,得到DBopenHelpper的操作实例
  15. *
  16. * @param context
  17. */
  18. public DBService(Context context) {
  19. this.dbHelper = new DBOpenHelper(context);
  20. }
  21. /**
  22. * 将Batch批量数据excel数据保存到数据库
  23. *
  24. * @param batch
  25. */
  26. public void saveExcelBatch(BatchEpment batch) {
  27. SQLiteDatabase db = dbHelper.getWritableDatabase();
  28. db.execSQL(
  29. "insert into tbl_batch (DeviceId,Codes,DeviceName,Price,Custodian,End_user,Time) values(?,?,?,?,?,?,?)",
  30. new Object[] { batch.getDeviceId(), batch.getCodes(),
  31. batch.getDeviceName(), batch.getPrice(),
  32. batch.getCustodian(), batch.getEnd_user(),
  33. batch.getTime() });
  34. };
  35. }

数据库增删改查业务类,

saveExcelBatch方法将数据插入数据库中
Source code    
  1. package com.example.test;
  2. import com.example.bean.BatchEpment;
  3. import com.example.engine.DBOpenHelper;
  4. import com.example.engine.DBService;
  5. import android.test.AndroidTestCase;
  6. public class ExcelTest extends AndroidTestCase {
  7. public void get() throws Exception {
  8. BatchEpment batch = new BatchEpment();
  9. batch.setDeviceId("111");
  10. batch.setCodes("ss");
  11. batch.setDeviceName("计算机");
  12. batch.setPrice("2000");
  13. batch.setCustodian("刘欢");
  14. batch.setEnd_user("罗琼");
  15. batch.setTime("20111115");
  16. DBService dbService = new DBService(getContext());
  17. dbService.saveExcelBatch(batch);
  18. }
  19. }
写一个测试类传入数据,调用业务类的方法插入数据
Source code    
  1. package com.example.bean;
  2. /**
  3. * 批量设备实体类
  4. *
  5. * @author ming
  6. *
  7. */
  8. public class BatchEpment {
  9. String Id;// 自动编号
  10. String DeviceId;// 设备编号
  11. String Codes;// 分类号
  12. String DeviceName;// 设备名称
  13. String Price;// 价格
  14. String Custodian;// 保管人
  15. String End_user;// 使用单位
  16. String Time;// 时间
  17. public BatchEpment() {
  18. };
  19. public BatchEpment(String id, String deviceId, String codes,
  20. String deviceName, String price, String custodian, String end_user,
  21. String time) {
  22. super();
  23. Id = id;
  24. DeviceId = deviceId;
  25. Codes = codes;
  26. DeviceName = deviceName;
  27. Price = price;
  28. Custodian = custodian;
  29. End_user = end_user;
  30. Time = time;
  31. }
  32. public String getId() {
  33. return Id;
  34. }
  35. public void setId(String id) {
  36. this.Id = id;
  37. }
  38. public String getDeviceId() {
  39. return DeviceId;
  40. }
  41. public void setDeviceId(String deviceId) {
  42. this.DeviceId = deviceId;
  43. }
  44. public String getCodes() {
  45. return Codes;
  46. }
  47. public void setCodes(String codes) {
  48. this.Codes = codes;
  49. }
  50. public String getDeviceName() {
  51. return DeviceName;
  52. }
  53. public void setDeviceName(String deviceName) {
  54. this.DeviceName = deviceName;
  55. }
  56. public String getPrice() {
  57. return Price;
  58. }
  59. public void setPrice(String price) {
  60. this.Price = price;
  61. }
  62. public String getCustodian() {
  63. return Custodian;
  64. }
  65. public void setCustodian(String custodian) {
  66. this.Custodian = custodian;
  67. }
  68. public String getEnd_user() {
  69. return End_user;
  70. }
  71. public void setEnd_user(String end_user) {
  72. this.End_user = end_user;
  73. }
  74. public String getTime() {
  75. return Time;
  76. }
  77. public void setTime(String time) {
  78. this.Time = time;
  79. }
  80. }
实体类 另外一个实例:values(?,?)?是占位符,后边数组中的是实际的值 db.rawQuery返回的是一个游标对象 cursor.movetofirst将游标移到第一条记录返回值是个Boolean值 得到由表里边的值 cursor.getInt(对应字段的行标,通过表的对用字段); 最后将游标关闭。 要是查询的是多条记录的话,就要迭代查询 cursor,moveTOnext 最后将数据存到Arraylist里边 getcount方法是得到记录的行数  android系统提供的四种操作数据的方法:insert(),delete(),updata(),query()详细介绍看下方图片截图。  将前面提供的用SQL写的例子变成系统方法 插入和删除 查询 分页

sqlite数据库操作详细介绍 增删改查,游标的更多相关文章

  1. Mysql数据库操作复习,增删改查

    Mysql数据库 Apache(服务员)    php(大厨)    mysql(冰柜) Mysql是瑞典的mysqlAB公司开发的一款中小型关系型数据库管理系统. MysqlAB公司在2008年被S ...

  2. iOS- Swift:使用FMDB进行数据库操作(线程安全:增删改查)

    1.前言 GitHub上2000多颗星的FMDB数据库框架想来大家都很熟悉, 今天用Swift对其进行了一个完成的数据存储读流程 写完之后用博客分享之,与大家一起交流, 希望对需要的朋友提供些帮助   ...

  3. python操作三大主流数据库(8)python操作mongodb数据库②python使用pymongo操作mongodb的增删改查

    python操作mongodb数据库②python使用pymongo操作mongodb的增删改查 文档http://api.mongodb.com/python/current/api/index.h ...

  4. 利用SQLite在android上实现增删改查

    利用SQLite在android上实现增删改查 方法: 一.直接利用database.execSQL()方法输入完整sql语句进行操作 这种方法适用于复杂的sql语句,比如多表查询等等 这里适合于增删 ...

  5. MySQL数据库之表的增删改查

    目录 MySQL数据库之表的增删改查 1 引言 2 创建表 3 删除表 4 修改表 5 查看表 6 复制表 MySQL数据库之表的增删改查 1 引言 1.MySQL数据库中,数据库database就是 ...

  6. 使用JDBC分别利用Statement和PreparedStatement来对MySQL数据库进行简单的增删改查以及SQL注入的原理

    一.MySQL数据库的下载及安装 https://www.mysql.com/ 点击DOWNLOADS,拉到页面底部,找到MySQL Community(GPL)Downloads,点击 选择下图中的 ...

  7. C#操作Excel数据增删改查(转)

    C#操作Excel数据增删改查. 首先创建ExcelDB.xlsx文件,并添加两张工作表. 工作表1: UserInfo表,字段:UserId.UserName.Age.Address.CreateT ...

  8. C#操作Excel数据增删改查示例

    Excel数据增删改查我们可以使用c#进行操作,首先创建ExcelDB.xlsx文件,并添加两张工作表,接下按照下面的操作步骤即可 C#操作Excel数据增删改查. 首先创建ExcelDB.xlsx文 ...

  9. SpringBoot操作MongoDB实现增删改查

    本篇博客主讲如何使用SpringBoot操作MongoDB. SpringBoot操作MongoDB实现增删改查 (1)pom.xml引入依赖 <dependency> <group ...

随机推荐

  1. SpringMVC项目中中文字符乱码问题及解决办法总结(非专业最优解决办法) -- ajax传值乱码; request.getParameter()乱码;

    情况一: ajax中传值时是乱码(后台可以获取到中文字符,但用@ResponseBody返回时前台为乱码) 情况二: Controller 中 request.getParameter()获取到的是乱 ...

  2. apscheduler的使用

    最近一个程序要用到后台定时任务,看了看python后台任务,一般2个选择,一个是apscheduler,一个celery.apscheduler比较直观简单一点,就选说说这个库吧.网上一搜索,晕死,好 ...

  3. bzoj 2075: [POI2004]KAG

    整天鬼畜题搞搞,感觉药丸…… 这种题出到xjoi模拟题里,太神了…… 这题的核心在于分割Cograph,尝试把Cograph的合成过程给求出来. 我们将这张图中的边为黑边,在这张图的补图中出现的边为白 ...

  4. MTK手机最低亮度值修改教程,有效降低亮度[转]

    感谢halflover的教程 反编译framework-res.apk 打开\framework-res\res\values\integers.xml 然后找到 <integer name=& ...

  5. Animate 动画

    angular 也提供了animate service 涉及 $animate,$animateProvider 1.2办法后通过 angular-animate.js 还扩展了一些功能 先来说说大致 ...

  6. 转:什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI?

    什么是CGI CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上. CGI可以用 ...

  7. scriptol图像处理算法

    神奇的图像处理算法   相似图片搜索是利用数学算法,进行高难度图像处理的一个例子.事实上,图像处理的数学算法,已经发展到令人叹为观止的地步. Scriptol列出了几种神奇的图像处理算法,让我们一起来 ...

  8. 一个资深java面试官的“面试心得”

    在公司当技术面试官几年间,从应届生到工作十几年的应聘者都遇到过.先表达一下我自己对面试的观点: 1.笔试.面试去评价一个人肯定是不够准确的,了解一个人最准确的方式就是“路遥知马力,日久见人心”.通过一 ...

  9. hdu1573:数论,线性同余方程组

    题目大意: 给定一个N ,m 找到小于N的  对于i=1....m,满足  x mod ai=bi  的 x 的数量. 分析 先求出 同余方程组 的最小解x0,然后 每增加lcm(a1...,am)都 ...

  10. Corrupted MAC on input

    Corrupted MAC on input Incorrect MAC received on packet