首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

vb.net 怎么执行事务

2013-09-06 
vb.net 如何执行事务?声明的参数declare@CardID int ,@StudentNo Char(11),@AddMoney int ,@Date Char(11)

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楼的

热点排行