--事务的使用示例
create database MyDB
go
use MyDB
create table account
(
Id int identity primary key,
balance int --余额
)
insert into account values(1000)
insert into account values(200)
go
--在存储过程中使用事务,简单转帐
create procedure transfer(@fromId int, @toId int, @total int) as
begin
declare @ts varchar(30), @tb int
begin transaction
update account set balance=balance+@total where id=@toId
update account set @tb=balance, balance=balance-@total where id=@fromId
if (select balance from account where id=@fromId)>=0
commit transaction
else
begin
set @ts=convert(varchar(30), @total) --int类型转换为字符串,(30)可省略
raiserror('余额%d不足以转帐%s', 16, 1, @tb, @ts)--%d,%s为格式控制符
rollback transaction
end
end
go
exec transfer 1, 2, 1234 --测试,转帐不成功
select * from account
exec transfer 1, 2, 500 --测试,转帐成功
select
事务的使用示例及WinForm实现中的若干问题
最新推荐文章于 2024-02-29 09:10:10 发布
这篇博客展示了如何在SQL中使用事务进行转账操作,包括创建存储过程和处理转账失败的情况。同时,讨论了在WinForm应用程序中,如何处理DataGridView控件的数据交互,如点击事件响应以及设置控件可见性和禁用状态。还提到了子窗体的管理以及登录后菜单权限的控制方法。
摘要由CSDN通过智能技术生成