1. import android.content.Context;
  2. import android.database.sqlite.SQLiteDatabase;
  3. import android.database.sqlite.SQLiteOpenHelper;
  4.  
  5. /**
  6. * 创建数据库帮助类 extends SQLiteOpenHelper
  7. */
  8. public class MyDbOpenHelper extends SQLiteOpenHelper {
  9.  
  10. /**
  11. * 构造方法
  12. *
  13. * @param context
  14. * 上下文
  15. * @param name
  16. * 数据库名称
  17. * @param factory
  18. * null
  19. * @param version
  20. * 数据库的版本号 >=1
  21. * 只能升级不能降级
  22. */
  23. public MyDbOpenHelper(Context context) {
  24. super(context,"Info.db",null,1);
  25. }
  26.  
  27. /**
  28. * 第一次创建数据库的时候调用
  29. * 适合初始化数据库的表
  30. */
  31. @Override
  32. public void onCreate(SQLiteDatabase db) {
  33. db.execSQL("create table stu(_id integer primary key autoincrement,name varchar(20),num varchar(20),money varchar(20))");
  34. }
  35.  
  36. /**
  37. * 数据库升级时,调用
  38. * 修改数据库的表
  39. */
  40. @Override
  41. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  42. System.out.println("onUpgrade");
  43. }
  44. }

  1. import android.app.Activity;
  2. import android.content.ContentValues;
  3. import android.database.Cursor;
  4. import android.database.sqlite.SQLiteDatabase;
  5. import android.os.Bundle;
  6. import android.view.View;
  7. import android.widget.Toast;
  8.  
  9. public class MainActivity extends Activity {
  10.  
  11. @Override
  12. protected void onCreate(Bundle savedInstanceState) {
  13. super.onCreate(savedInstanceState);
  14. setContentView(R.layout.activity_main);
  15. }
  16.  
  17. public void trans(View v) {
  18. // 1. 在内存中创建数据库帮助类的对象
  19. MyDbOpenHelper helper = new MyDbOpenHelper(this);
  20. // 2. 在磁盘上创建数据库文件
  21. SQLiteDatabase db = helper.getWritableDatabase();
  22.  
  23. /* ContentValues values = new ContentValues();
  24. values.put("name", "张三");
  25. values.put("money", "1");
  26. values.put("num", 001);
  27. db.insert("stu", null, values);
  28.  
  29. ContentValues values1 = new ContentValues();
  30. values1.put("name", "我");
  31. values1.put("money", "100000000");
  32. values1.put("num", 002);
  33. db.insert("stu", null, values1);*/
  34.  
  35. try {
  36. db.beginTransaction();//开启事务
  37. //转账
  38. ContentValues values = new ContentValues();
  39. values.put("money", 1);
  40. db.update("stu", values, "name=?", new String[]{"张三"});
  41.  
  42. //int a = 5/0;//模拟事务失败对结果的影响
  43. ContentValues values1 = new ContentValues();
  44. values1.put("money", 20000000);
  45. db.update("stu", values1, "name=?", new String[]{"Me"});
  46.  
  47. db.setTransactionSuccessful();//事务操作成功
  48. } catch (Exception e) {
  49. }finally{
  50. db.endTransaction();//关闭事务
  51. }
  52.  
  53. // 释放资源
  54. db.close();
  55. }
  56.  
  57. public void insert(View v) {
  58. // 1. 在内存中创建数据库帮助类的对象
  59. MyDbOpenHelper helper = new MyDbOpenHelper(this);
  60. // 2. 在磁盘上创建数据库文件
  61. SQLiteDatabase db = helper.getWritableDatabase();
  62.  
  63. /**
  64. * table :表名
  65. * nullColumnHack:
  66. */
  67. ContentValues values = new ContentValues();
  68. values.put("name", "张三");
  69. values.put("num", 123);
  70. long id = db.insert("stu", null, values);
  71. if (id == -1) {
  72. Toast.makeText(this, "插入失败", 0).show();
  73. }else {
  74. Toast.makeText(this, "id="+id, 0).show();
  75. }
  76. // 释放资源
  77. db.close();
  78. }
  79.  
  80. public void delete(View v) {
  81. // 1. 在内存中创建数据库帮助类的对象
  82. MyDbOpenHelper helper = new MyDbOpenHelper(this);
  83. // 2. 在磁盘上创建数据库文件
  84. SQLiteDatabase db = helper.getWritableDatabase();
  85. int id = db.delete("stu", null, null);
  86. if (id == 0) {
  87. Toast.makeText(this, "删除失败", 0).show();
  88. }else {
  89. Toast.makeText(this, "id="+id, 0).show();
  90. }
  91. // 释放资源
  92. db.close();
  93. }
  94.  
  95. public void update(View v) {
  96. // 1. 在内存中创建数据库帮助类的对象
  97. MyDbOpenHelper helper = new MyDbOpenHelper(this);
  98. // 2. 在磁盘上创建数据库文件
  99. SQLiteDatabase db = helper.getWritableDatabase();
  100.  
  101. /**
  102. * table :表名
  103. * values :修改的列
  104. * whereClause :修改条件
  105. * whereArgs :修改条件的占位符
  106. */
  107. ContentValues values = new ContentValues();
  108. values.put("name", "songxiaobao");
  109. int id = db.update("stu", values, null, null);
  110. if (id == 0) {
  111. Toast.makeText(this, "删除失败", 0).show();
  112. }else {
  113. Toast.makeText(this, "id="+id, 0).show();
  114. }
  115. // 释放资源
  116. db.close();
  117. }
  118.  
  119. public void query(View v){
  120. // 1. 在内存中创建数据库帮助类的对象
  121. MyDbOpenHelper helper = new MyDbOpenHelper(this);
  122. // 2. 在磁盘上创建数据库文件
  123. SQLiteDatabase db = helper.getReadableDatabase();
  124.  
  125. /**
  126. * table :表名
  127. * columns :要查询的列
  128. * selection :查询条件
  129. * selectionArgs :查询条件的占位符
  130. * groupBy :分组
  131. * having :条件
  132. * orderBy :排序
  133. */
  134. Cursor cursor = db.query("stu", new String[]{"name","num","_id","money"}, null,null,null,null,null);
  135.  
  136. while(cursor.moveToNext()){
  137. String id = cursor.getString(2);
  138. String name = cursor.getString(0);
  139. String num = cursor.getString(1);
  140. String money = cursor.getString(3);
  141. }
  142. //释放资源
  143. cursor.close();
  144. // 释放资源
  145. db.close();
  146. }
  147. }

android Api操作SQLite数据库的示例代码的更多相关文章

  1. 用SQL语句操作Sqlite数据库的示例代码

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

  2. 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)

    1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...

  3. Android中操作SQLite数据库

    我又回到了安卓的学习当中,忙来忙去终于忙的差不多有时间做自己的事情了,这感觉实在是太棒了!!本来想写android的控件以及他们的监视器的,但是我查了查android的手册,基本上都能查到,但是查有些 ...

  4. Android实例-操作sqlite数据库之Grid显示图片(XE8+小米2)

    结果: 1.数据库文件,记得打包到程序中(assets\internal\). 操作方法: 1.新建firemonkey mobile application①菜单->File->New- ...

  5. Android中SQLite数据库操作(1)——使用SQL语句操作SQLite数据库

    下面是最原始的方法,用SQL语句操作数据库.后面的"Android中SQLite数据库操作(2)--SQLiteOpenHelper类"将介绍一种常用的android封装操作SQL ...

  6. Android 开发中 SQLite 数据库的使用

    SQLite 介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP, ...

  7. android中与SQLite数据库相关的类

    为什么要在应用程序中使用数据库?数据库最主要的用途就是作为数据的存储容器,另外,由于可以很方便的将应用程序中的数据结构(比如C语言中的结构体)转化成数据库的表,这样我们就可以通过操作数据库来替代写一堆 ...

  8. Java操作Sqlite数据库-jdbc连接

    Java操作Sqlite数据库步骤: 1. 导入Sqlite jdbc 本文使用sqlite-jdbc-3.7.2.jar,下载地址 http://pan.baidu.com/s/1kVHAGdD 2 ...

  9. UWP: 在 UWP 中使用 Entity Framework Core 操作 SQLite 数据库

    在应用中使用 SQLite 数据库来存储数据是相当常见的.在 UWP 平台中要使用 SQLite,一般会使用 SQLite for Universal Windows Platform 和 SQLit ...

随机推荐

  1. 转载-对于Python中@property的理解和使用

    原文链接:https://blog.csdn.net/u013205877/article/details/77804137 重看狗书,看到对User表定义的时候有下面两行 @property def ...

  2. C和指针--动态内存分配

    1.为什么需要使用动态内存分配 数组的元素存储于内存中连续的位置上,当一个数组被声明时,它所需要的内存在编译时就被分配.当你声明数组时,必须用一个编译时常量指定数组的长度.但是,数组的长度常常在运行时 ...

  3. 5.安装bacula-web(监控页面)

    1.   安装bacula-web(监控页面) 用途:监控bacula状态. http://docs.bacula-web.org/en/master/index.html bacula-web-7. ...

  4. 、M/C/U/简单加/密方法、

    ............................... 一.STM32Flash组织 STM32的Flash包括主存储器(HD版本,512KB)+信息块.信息块包括2KB的系统存储器(用于系统 ...

  5. rac 数组之遍历

    rac的数组遍历其实很简单.但是有个点需要注意. 以下先举个例子说明遍历的用法 NSArray *temArr = @["]; [temArr.rac_sequence.signal sub ...

  6. 服务器上的UID按钮

    定位用的,比如你机柜上有很多台机器,你在前面按下UID灯,机器后面也有一个UID灯会亮起来,这样当你到后面去的时候你就知道刚才在前面看的是哪一台,另外,有人通过ILO远程端口连接到你的服务器的时候,U ...

  7. 本地资源图片无法通过 WXSS 获取,可以使用网络图片,或者 base64,或者使用<image/>标签

    在微信小程序开发中,当在CSS中使用背景图片格式为png时就会出现: 只要把png格式改掉就可以或者在<image/>标签里面写,我实测用JPG格式和把图片转成base64是没问题的.

  8. 对JavaScript 模块化的深入-----------------引用

     什么是模块化 好的代码模块分割的内容一定是很合理的,便于你增加减少或者修改功能,同时又不会影响整个系统.  为什么要使用模块 1.可维护性:根据定义,每个模块都是独立的.良好设计的模块会尽量与外部的 ...

  9. .net上传整个文件夹

    ASP.NET上传文件用FileUpLoad就可以,但是对文件夹的操作却不能用FileUpLoad来实现. 下面这个示例便是使用ASP.NET来实现上传文件夹并对文件夹进行压缩以及解压. ASP.NE ...

  10. CPU内部结构图

      原文地址:http://blog.csdn.net/jiuyueguang/article/details/9350793