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 ...
随机推荐
- Mybatis入门配置及第一个Mybatis程序
目的:使用mybatis来进行对数据库表的操作 第一步:引入jar包 我这里是创建的maven工程 第二步:创建数据表user 第三步:创建实体类 实体类放在包 com.xxx.pojo 下,包名可自 ...
- 开启aix SFTP日志 是否和链接SFTP有关呢
1.修改SSH配置 vi /etc/ssh/sshd_config 在sftp配置处添加-l INFO -f AUTH Subsystem sftp /usr/lib64/ssh/sftp-serve ...
- 【django】另一种思路代替nginx 的rewrite
需求:访问xx.com 跳转到xx.com/index 修改setting 同级别的urls.py 文件 from django.conf.urls import include, url from ...
- Python&Selenium&Unittest&BeautifuReport 自动化测试并生成HTML自动化测试报告
一.摘要 本篇博文将介绍如何借助BeautifulReport和HTML模版,生成HTML测试报告的BeautifulReport 源码Clone地址为 https://github.com/Test ...
- ActiveMQ部署和代码尝试(二)
部署和代码尝试 1. 部署在linux 上的acvtiveMQ 要可以通过前台windows 的页面访问,必须把linux 的IP和 windows的 IP 地址配置到同一个网关下 .这种情况一般都是 ...
- python瞎练
需求:有不规则列表 singlelist3 = [ '总计', '每吨人工:', '总人工', 1748.07, '金额'],如果当前元素为字符串且该元素的下一个相邻位置仍为字符串,那么请在该元素后面 ...
- Python3-BaseType
counter = 100 # 整型变量 miles = 1000.0 # 浮点型变量 name = "runoob" # 字符串 print(counter) print(mil ...
- 智能指针unique_ptr记录
unique_ptr 对对象独有管理,无法复制,共享,值传递,可以使用move语义来转移控制权. std::default_delete<int> d; std::unique_ptr&l ...
- yii框架学习(获取插入后的id)
插入单条数据, 获取插入数据的id. $model->attributes['id']; new model 添加数据的时候, 需要注意, 如果是想要循环添加多条数据的情况, new mode ...
- BZOJ 1257 [CQOI2007]余数之和 数学
都不知道说什么好...咕咕到现在.. 求:$\sum_{i=1}^n \space k\space mod \space i$ 即求:$n*k-\sum_{i=1}^n\space \lfloor \ ...