android Api操作SQLite数据库的示例代码
- import android.content.Context;
- import android.database.sqlite.SQLiteDatabase;
- import android.database.sqlite.SQLiteOpenHelper;
- /**
- * 创建数据库帮助类 extends SQLiteOpenHelper
- */
- public class MyDbOpenHelper extends SQLiteOpenHelper {
- /**
- * 构造方法
- *
- * @param context
- * 上下文
- * @param name
- * 数据库名称
- * @param factory
- * null
- * @param version
- * 数据库的版本号 >=1
- * 只能升级不能降级
- */
- public MyDbOpenHelper(Context context) {
- super(context,"Info.db",null,1);
- }
- /**
- * 第一次创建数据库的时候调用
- * 适合初始化数据库的表
- */
- @Override
- public void onCreate(SQLiteDatabase db) {
- db.execSQL("create table stu(_id integer primary key autoincrement,name varchar(20),num varchar(20),money varchar(20))");
- }
- /**
- * 数据库升级时,调用
- * 修改数据库的表
- */
- @Override
- public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
- System.out.println("onUpgrade");
- }
- }
- import android.app.Activity;
- import android.content.ContentValues;
- import android.database.Cursor;
- import android.database.sqlite.SQLiteDatabase;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Toast;
- public class MainActivity extends Activity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- }
- public void trans(View v) {
- // 1. 在内存中创建数据库帮助类的对象
- MyDbOpenHelper helper = new MyDbOpenHelper(this);
- // 2. 在磁盘上创建数据库文件
- SQLiteDatabase db = helper.getWritableDatabase();
- /* ContentValues values = new ContentValues();
- values.put("name", "张三");
- values.put("money", "1");
- values.put("num", 001);
- db.insert("stu", null, values);
- ContentValues values1 = new ContentValues();
- values1.put("name", "我");
- values1.put("money", "100000000");
- values1.put("num", 002);
- db.insert("stu", null, values1);*/
- try {
- db.beginTransaction();//开启事务
- //转账
- ContentValues values = new ContentValues();
- values.put("money", 1);
- db.update("stu", values, "name=?", new String[]{"张三"});
- //int a = 5/0;//模拟事务失败对结果的影响
- ContentValues values1 = new ContentValues();
- values1.put("money", 20000000);
- db.update("stu", values1, "name=?", new String[]{"Me"});
- db.setTransactionSuccessful();//事务操作成功
- } catch (Exception e) {
- }finally{
- db.endTransaction();//关闭事务
- }
- // 释放资源
- db.close();
- }
- public void insert(View v) {
- // 1. 在内存中创建数据库帮助类的对象
- MyDbOpenHelper helper = new MyDbOpenHelper(this);
- // 2. 在磁盘上创建数据库文件
- SQLiteDatabase db = helper.getWritableDatabase();
- /**
- * table :表名
- * nullColumnHack:
- */
- ContentValues values = new ContentValues();
- values.put("name", "张三");
- values.put("num", 123);
- long id = db.insert("stu", null, values);
- if (id == -1) {
- Toast.makeText(this, "插入失败", 0).show();
- }else {
- Toast.makeText(this, "id="+id, 0).show();
- }
- // 释放资源
- db.close();
- }
- public void delete(View v) {
- // 1. 在内存中创建数据库帮助类的对象
- MyDbOpenHelper helper = new MyDbOpenHelper(this);
- // 2. 在磁盘上创建数据库文件
- SQLiteDatabase db = helper.getWritableDatabase();
- int id = db.delete("stu", null, null);
- if (id == 0) {
- Toast.makeText(this, "删除失败", 0).show();
- }else {
- Toast.makeText(this, "id="+id, 0).show();
- }
- // 释放资源
- db.close();
- }
- public void update(View v) {
- // 1. 在内存中创建数据库帮助类的对象
- MyDbOpenHelper helper = new MyDbOpenHelper(this);
- // 2. 在磁盘上创建数据库文件
- SQLiteDatabase db = helper.getWritableDatabase();
- /**
- * table :表名
- * values :修改的列
- * whereClause :修改条件
- * whereArgs :修改条件的占位符
- */
- ContentValues values = new ContentValues();
- values.put("name", "songxiaobao");
- int id = db.update("stu", values, null, null);
- if (id == 0) {
- Toast.makeText(this, "删除失败", 0).show();
- }else {
- Toast.makeText(this, "id="+id, 0).show();
- }
- // 释放资源
- db.close();
- }
- public void query(View v){
- // 1. 在内存中创建数据库帮助类的对象
- MyDbOpenHelper helper = new MyDbOpenHelper(this);
- // 2. 在磁盘上创建数据库文件
- SQLiteDatabase db = helper.getReadableDatabase();
- /**
- * table :表名
- * columns :要查询的列
- * selection :查询条件
- * selectionArgs :查询条件的占位符
- * groupBy :分组
- * having :条件
- * orderBy :排序
- */
- Cursor cursor = db.query("stu", new String[]{"name","num","_id","money"}, null,null,null,null,null);
- while(cursor.moveToNext()){
- String id = cursor.getString(2);
- String name = cursor.getString(0);
- String num = cursor.getString(1);
- String money = cursor.getString(3);
- }
- //释放资源
- cursor.close();
- // 释放资源
- db.close();
- }
- }
android Api操作SQLite数据库的示例代码的更多相关文章
- 用SQL语句操作Sqlite数据库的示例代码
import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.databa ...
- 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)
1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...
- Android中操作SQLite数据库
我又回到了安卓的学习当中,忙来忙去终于忙的差不多有时间做自己的事情了,这感觉实在是太棒了!!本来想写android的控件以及他们的监视器的,但是我查了查android的手册,基本上都能查到,但是查有些 ...
- Android实例-操作sqlite数据库之Grid显示图片(XE8+小米2)
结果: 1.数据库文件,记得打包到程序中(assets\internal\). 操作方法: 1.新建firemonkey mobile application①菜单->File->New- ...
- Android中SQLite数据库操作(1)——使用SQL语句操作SQLite数据库
下面是最原始的方法,用SQL语句操作数据库.后面的"Android中SQLite数据库操作(2)--SQLiteOpenHelper类"将介绍一种常用的android封装操作SQL ...
- Android 开发中 SQLite 数据库的使用
SQLite 介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP, ...
- android中与SQLite数据库相关的类
为什么要在应用程序中使用数据库?数据库最主要的用途就是作为数据的存储容器,另外,由于可以很方便的将应用程序中的数据结构(比如C语言中的结构体)转化成数据库的表,这样我们就可以通过操作数据库来替代写一堆 ...
- Java操作Sqlite数据库-jdbc连接
Java操作Sqlite数据库步骤: 1. 导入Sqlite jdbc 本文使用sqlite-jdbc-3.7.2.jar,下载地址 http://pan.baidu.com/s/1kVHAGdD 2 ...
- UWP: 在 UWP 中使用 Entity Framework Core 操作 SQLite 数据库
在应用中使用 SQLite 数据库来存储数据是相当常见的.在 UWP 平台中要使用 SQLite,一般会使用 SQLite for Universal Windows Platform 和 SQLit ...
随机推荐
- 转载-对于Python中@property的理解和使用
原文链接:https://blog.csdn.net/u013205877/article/details/77804137 重看狗书,看到对User表定义的时候有下面两行 @property def ...
- C和指针--动态内存分配
1.为什么需要使用动态内存分配 数组的元素存储于内存中连续的位置上,当一个数组被声明时,它所需要的内存在编译时就被分配.当你声明数组时,必须用一个编译时常量指定数组的长度.但是,数组的长度常常在运行时 ...
- 5.安装bacula-web(监控页面)
1. 安装bacula-web(监控页面) 用途:监控bacula状态. http://docs.bacula-web.org/en/master/index.html bacula-web-7. ...
- 、M/C/U/简单加/密方法、
............................... 一.STM32Flash组织 STM32的Flash包括主存储器(HD版本,512KB)+信息块.信息块包括2KB的系统存储器(用于系统 ...
- rac 数组之遍历
rac的数组遍历其实很简单.但是有个点需要注意. 以下先举个例子说明遍历的用法 NSArray *temArr = @["]; [temArr.rac_sequence.signal sub ...
- 服务器上的UID按钮
定位用的,比如你机柜上有很多台机器,你在前面按下UID灯,机器后面也有一个UID灯会亮起来,这样当你到后面去的时候你就知道刚才在前面看的是哪一台,另外,有人通过ILO远程端口连接到你的服务器的时候,U ...
- 本地资源图片无法通过 WXSS 获取,可以使用网络图片,或者 base64,或者使用<image/>标签
在微信小程序开发中,当在CSS中使用背景图片格式为png时就会出现: 只要把png格式改掉就可以或者在<image/>标签里面写,我实测用JPG格式和把图片转成base64是没问题的.
- 对JavaScript 模块化的深入-----------------引用
什么是模块化 好的代码模块分割的内容一定是很合理的,便于你增加减少或者修改功能,同时又不会影响整个系统. 为什么要使用模块 1.可维护性:根据定义,每个模块都是独立的.良好设计的模块会尽量与外部的 ...
- .net上传整个文件夹
ASP.NET上传文件用FileUpLoad就可以,但是对文件夹的操作却不能用FileUpLoad来实现. 下面这个示例便是使用ASP.NET来实现上传文件夹并对文件夹进行压缩以及解压. ASP.NE ...
- CPU内部结构图
原文地址:http://blog.csdn.net/jiuyueguang/article/details/9350793