数据库应用之-------------事务

《Android移动应用基础教程》(Android Studio)(第二版)黑马教程 课后题答案 第5章 《Android移动应用基础教程》(Android Studio)(第二版)黑马教程 课后题答案 第5章 一、判断题 对 2、对 3、错 4、对 5、错 6、对 二、选择题 C 2、B 3、B 4、C 5、C 6、D 三、简答题 简述数据库事物的4个基本要素要素 答:事务的操作比较严格,他必须满足ACID,ACID是指数据库事务正确执行的四个基本要素的缩写,这些要素包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性( 阅读详情

学习了SQLite数据库,基本语法与MySQL操作相差无几,让我记挂的是数据库的事务,在银行转账系统比较常用,下面做个简单的总结吧。

事务:执行多条sql语句要么同时成功,要么同时执行失败,在银行转账系统中,这很有必要!

下面通过一个简单的小李子体会一下:

public static void trans(Context context, int money, Float[] accounts,SQLiteDatabase db, String[] accountor) {
		/**
		 * 转账实现过程:获取王五和李四的账户,将王五的账户余额减去转账金额
		 * 将李四的账户余额加上转账的金额,
		 */
		ContentValues values = new ContentValues();
		//1.
		float account_out = accounts[0];
		//加入事务处理
		db.beginTransaction();
		try {
			//设置转出账户
			values.put("account", account_out = (account_out-money));
			db.update("customer", values, "name=?", new String[]{accountor[0]});
			//设置转入账户
			ContentValues valuesl = new ContentValues();
			float account_in = accounts[1];
			//加入一个模拟断电事件
			int i = 100/0;
			//在李四账户加上转账金额
			valuesl.put("account", account_in = (account_in+money));
			db.update("customer", valuesl, "name=?", new String[]{accountor[1]});
			db.setTransactionSuccessful();//设置事务执行成功标记
		}catch (Exception e) {
			// TODO: handle exception
			
				Toast.makeText(context, "服务器繁忙,等会儿再转!", Toast.LENGTH_SHORT).show();
				try {
					Thread.sleep(1000);
				} catch (InterruptedException e1) {
					e1.printStackTrace();
				}
			//throw new RuntimeException("服务器繁忙,等会儿再转!");
		}
		finally {
			db.endTransaction();
		}
		
	}

以上只是转账模块代码,但是足以说明事务的用法和重要用途。
在鸿蒙应用中操作关系型数据库(RDB),执行事务时偶尔会失败,日志显示“database is locked”。如何正确地管理并发数据库访问以避免此类问题? > 🏆本文收录于 [《全栈Bug调优(实战版)》](https://blog.youkuaiyun.com/weixin_43970743/category_11682453) 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀! >    阅读详情

相关推荐

15、融合应用事务数据库创建指南

本文详细介绍了创建融合应用事务数据库的全过程,涵盖数据库参数设置、RCU(存储库创建工具)的运行、表空间管理以及常见问题的解决方案。内容包括手动调整SGA与PGA参数、非默认数据库参数的配置、RCU的安装与操作流程、表空间的附加与管理,以及针对先决条件检查失败、密码设置问题和存储库创建耗时的处理方法。通过本指南,用户可以全面了解并掌握融合应用环境下数据库的搭建与配置,确保系统顺利部署。

threejs5artist的博客 95

安卓SQLite数据库事务——银行转账

可以看到表中张山的钱是1800 ,李四的钱是5200, 当我们点击转账时,张山的钱要减去100 李四的增加100 下面开始实现步骤: 1、新建数据库并添加表info 字段 name phone money 。 2、布局文件 省略 3、主界面类 实例化自己建的数据库类,并调用可读数据库,实现按钮点击事件,执行两个sql语句,并设置成功的标记,如果不是两个语句都成功执行将会回滚,并提示用...

伯nulee 4085

PostgreSQL数据库的事务处理机制及应用

在现代数据库系统中,事务处理是保证数据一致性和完整性的关键机制。PostgreSQL作为一种功能强大的开源关系型数据库,其事务处理机制具有高度的可靠性和并发性能。本文的目的是深入剖析PostgreSQL数据库的事务处理机制,包括其原理、算法和实际应用。范围涵盖事务的基本概念、核心算法、数学模型、项目实战以及实际应用场景等方面。本文将按照以下结构进行阐述:首先介绍事务处理的核心概念和相关联系,包括ACID特性和事务的生命周期;接着讲解核心算法原理和具体操作步骤,并给出Python代码示例;

2502_91592937的博客 1124

SQLite事务操作

SQLite引入事物,用来并发sql语句的执行。 事务是针对数据库的一组操作,它可以由一条或多条SQL语句组成,同一个事务的操作具备同步的特点,如果有一条语句无法执行,那么所有语句都不会执行。也就是说,事务中的语句要么都执行,要么都不执行。以下示例代码中,通过SQLite的事务来模拟银行转账功能。 首先要得到一个可写的SQLiteDatabase对象,然后开启事务执行转入转出操作,最后关闭事务:

verilar的博客 1448

事务相关知识集锦:数据库事务的实现和应用

事务是确保数据库操作的一致性和可靠性的重要工具,具备原子性、一致性、隔离性和持久性等特性。通过合理应用事务,可以确保数据的完整性和一致性,提高系统的可靠性和性能。事务是一组数据库操作的逻辑单元,这些操作要么全部成功执行,要么全部回滚,不会出现部分执行的情况。事务是数据库管理系统中的一个重要概念,用于确保数据库操作的一致性和可靠性。事务在数据库系统中有广泛的应用,特别是在需要保证数据完整性和一致性的情况下。通过合理应用事务,可以保证数据库操作的可靠性和一致性,提高系统的可靠性和性能。语句开始一个事务,并在。

BitCodeW的博客 87

数据库事务的深入探索与应用

本篇文章深入探讨了数据库事务的原理和应用,重点介绍了SQL Server、Oracle、DB2、MySQL和Access数据库中事务的处理方式。文章通过对不同数据库事务隔离级别和锁机制的比较,帮助读者理解在并发环境下如何有效管理事务,确保数据的一致性和完整性。

weixin_28721743的博客 430

[java][db]JAVA分布式事务原理及应用

JTA(Java Transaction API)允许应用程序执行分布式事务处理--在两个或多个网络计算机资源上访问并且更新数据。JDBC驱动程序的JTA支持极大地增强了数据访问能力。    本文的目的是要提供一个关于的Java事务处理API(JTA)的高级的概述,以及与分布式事务相关的内容。一个事务处理定义了一个工作逻辑单元,要么彻底成功要么不产生任何结果。 一个分布式事务处理只是一个在两

王德封-逐浪 1万+

模拟银行转账功能android数据库例子

模拟银行转账功能android数据库例子,里面要用到android测试中的一些知识,不懂的可以网上 查找例子 ,也可私信

数据库事务、隔离级别及其应用

数据库事务、隔离级别及其应用      一、数据库事务            事务(Transaction):是并发控制的单元,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。通过事务,sql server 能将逻辑相关的一组操作绑定在一起,以便服务器 保持数据的完整性。事务通常是以begin transaction开始,以commit或rollback结束。

lululove19870526的专栏 3271

Android课后题答案.docx

Android课后题答案.docx

Android数据库中事务操作方法之银行转账示例

本文实例讲述了Android数据库中事务操作方法之银行转账功能。分享给大家供大家参考,具体如下: 主java package com.itheima.transtation; import com.itheima.transtation.db.BankOpenHelper; import android.os.Bundle; import android.app.Activity; import android.database.sqlite.SQLiteDatabase; import android.view.Menu; import android.view.View; public

java 应用 事务_java 数据库事务与应用事务的区别

展开全部在说他们之间的区636f70793231313335323631343130323136353331333339663435别之前,先考虑如下几个问题:1、getCurrentSession()与openSession()的区别?* 采用getCurrentSession()创建的session会绑定到当前线程中,而采用openSession()创建的session则不会* 采用getCu...

weixin_42505462的博客 507

Android SQLite数据库操作代码类分享

主要介绍了Android SQLite数据库操作代码类分享,本文直接给出实现代码和使用代码,需要的朋友可以参考下

数据库和数据仓库的区别

数据库与数据仓库核心差异解析:数据库(DB)是支持OLTP事务处理的业务系统,采用ER模型确保实时数据一致性,适用于高并发CRUD操作;数据仓库(DW)面向OLAP分析,通过星型/雪花模型整合多源历史数据,支持复杂查询与决策分析。两者在数据特性(实时/历史)、架构(规范化/反规范化)、处理能力(事务/分析)等方面存在本质区别,通常配合使用形成完整数据处理链路。

不辉放弃的博客 1714

SQLite 事务(Transaction)

SQLite 事务(Transaction) 事务(Transaction)是一个对数据库执行工作单元。事务(Transaction)是以逻辑顺序完成的工作单位或序列,可以是由用户手动操作完成,也可以是由某种数据库程序自动完成。 事务(Transaction)是指一个或多个更改数据库的扩展。例如,如果您正在创建一个记录或者更新一个记录或者从表中删除一个记录,那么您正在该表上执行事务。重要的是要控制事务以确保数据的完整性和处理数据库错误。 实际上,您可以把许多的 SQLite 查询联合成一组,把所有这些放在一起作为事务的一部分进行执行。 事务的属性 事务(Transaction)具有以下四个标准

安装matlab_Matlab+yalmip+cplex安装教程及算例

数学建模/科研学习推荐学习软件:Matlab+yalmip+cplex安装教程及算例其实绝大多数本科生都是在用Matlab和LINGO求解优化问题,Matlab可以求解一般优化问题,但是当优化问题规模比较大或者在应对一些非线性问题时候,Matlab会出现求解时间长,求解效率低,甚至难以求解等问题。Matlab+yalmip+cplex是Matlab通过调用商业软件cplex求解,求解时间短,这里简...

weixin_28939637的博客 5005
上一篇: Android开发之基础---------多媒体音乐和视频播放
下一篇: Android开发之基础新特性-------------Fragment&帧动画(一知识点)
杨鑫校
博客等级 码龄11年 24粉丝 113原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值