读书人

vb.net 怎么执行事务

发布时间: 2013-09-06 10:17:17 作者: rapoo

vb.net 如何执行事务?

声明的参数
declare
@CardID int ,
@StudentNo Char(11),
@AddMoney int ,
@Date Char(11),
@Time Char(11),
@UserID Char(10)
更新学生金额
UPDATE TB_Student_Info SET Cash =Cash +@AddMoney WHERE CardID = @CardID
插入到充值记录表中
INSERT INTO TB_Recharge_Info VALUES(@CardID, @StudentNo,@AddMoney,@Date,@Time,@UserID)


要求:
当我更新学生表的金额时,将学生的充值记录添加到充值表中,不使用存储过程,而是适用SQL Sever 中的事务怎么通过vb.net 实现?参数是从vb.net 中获取的 sql?sever??事务 vb.net与SQL交互
[解决办法]
给你个帖子http://developer.51cto.com/art/201001/178012.htm
[解决办法]


Dim sql As String
Dim item As RepeaterItem
Dim cn As New SqlClient.SqlConnection(P_ConnectString)
Dim cmd As New SqlClient.SqlCommand
Dim tran As SqlClient.SqlTransaction
Dim tbl As New DataTable
cn.Open()
cmd.Connection = cn
tran = cn.BeginTransaction
cmd.Transaction = tran

。。
。。
。。
tran.Commit()

大体这个样子
[解决办法]
这个和三层无关,你只是在程式中执行CMD命令时执行方式是事物,并给事物传参,需要指明事物名称,SQL事物大概如下,不常写,如果有问题改一下:

CREATE PROCEDURE [TEST]
@CardID int ,
@StudentNo Char(11),
@AddMoney int ,
@Date Char(11),
@Time Char(11),
@UserID Char(10)
AS
begin


set @CardID='';
set @StudentNo='';
set @AddMoney='';
set @Date='';
set @Time='';
set @UserID='';

UPDATE TB_Student_Info SET Cash =Cash +@AddMoney WHERE CardID = @CardID
INSERT INTO TB_Recharge_Info VALUES(@CardID, @StudentNo,@AddMoney,@Date,@Time,@UserID)
END
exec [TEST]
GO

[解决办法]

引用:
我这是通过三层架构来开发的~希望可以详细点 谢谢

那你就在你的中间层增加一个开展事务和提交事务的方法嘛

具体代码就是3楼的

读书人网 >VB Dotnet

热点推荐