数据库入门---事务
来源:互联网 发布:商业数据分析与挖掘 编辑:程序博客网 时间:2024/06/01 09:28
# 数据库的事务
事务: 执行多条sql语句,要么同时执行成功,要么同时执行失败,不能有的成功,有的失败
银行转账
//点击按钮执行该方法
public void transtation(View v){
//1.创建一个帮助类的对象
BankOpenHelper bankOpenHelper = new BankOpenHelper(this);
//2.调用数据库帮助类对象的getReadableDatabase创建数据库,初始化表数据,获取一个SqliteDatabase对象去做转账(sql语句)
SQLiteDatabase db = bankOpenHelper.getReadableDatabase();
//3.转账,将李四的钱减200,张三加200
db.beginTransaction();//开启一个数据库事务
try {
db.execSQL("update account set money= money-200 where name=?",new String[]{"李四"});
int i = 100/0;//模拟一个异常
db.execSQL("update account set money= money+200 where name=?",new String[]{"张三"});
db.setTransactionSuccessful();//标记事务中的sql语句全部成功执行
} finally {
db.endTransaction();//判断事务的标记是否成功,如果不成功,回滚错误之前执行的sql语句
}
}
事务: 执行多条sql语句,要么同时执行成功,要么同时执行失败,不能有的成功,有的失败
银行转账
//点击按钮执行该方法
public void transtation(View v){
//1.创建一个帮助类的对象
BankOpenHelper bankOpenHelper = new BankOpenHelper(this);
//2.调用数据库帮助类对象的getReadableDatabase创建数据库,初始化表数据,获取一个SqliteDatabase对象去做转账(sql语句)
SQLiteDatabase db = bankOpenHelper.getReadableDatabase();
//3.转账,将李四的钱减200,张三加200
db.beginTransaction();//开启一个数据库事务
try {
db.execSQL("update account set money= money-200 where name=?",new String[]{"李四"});
int i = 100/0;//模拟一个异常
db.execSQL("update account set money= money+200 where name=?",new String[]{"张三"});
db.setTransactionSuccessful();//标记事务中的sql语句全部成功执行
} finally {
db.endTransaction();//判断事务的标记是否成功,如果不成功,回滚错误之前执行的sql语句
}
}
阅读全文
0 0
- Sql入门------数据库事务
- 数据库入门---事务
- C#数据库入门-008:了解事务
- 16-Oracle入门之数据库事务
- SQL入门 6 管理数据库事务
- 事务入门
- 事务入门
- 事务入门
- ADO.NET 快速入门(七):使用数据库事务
- 【事务一】数据库事务
- 数据库事务
- 数据库事务
- 数据库事务
- 数据库事务
- 数据库事务
- 数据库事务
- 数据库事务
- 数据库事务
- 对象导论
- bzoj 2406: 矩阵 二分答案+上下界网络流
- win10上安装VMWARE问题
- NoSQL数据库的四大分类及分析
- 设计模式系列-工厂模式
- 数据库入门---事务
- HashMap原理分析
- SQL——SQL语言全部关键字详解
- fileupload插件调用upload.parseRequest(request)解析得到空值问题
- 通过eclipse发布项目
- C/C++ | 20-7链表,单链表的建立,把’a'–’z’26个字母插入,倒叙,打印
- MS523 直接pin对pin替换RC523|FM17550 无需修改硬件以及软件
- 最小生成树-Prim算法和Kruskal算法
- PL/SQL 条件分支(二)