關於transaction(C#/SQL-Server)

        Common comm = new Common();
        Session["lunwbh"] = Convert.ToInt32(GridView1.DataKeys[GridView1.SelectedIndex]["論文編號"]);

        SqlConnection conn = new SqlConnection(comm.getsqlconnection());
        conn.Open();
        SqlCommand command = new SqlCommand("Pro_BianJ_LunW",conn);
        command.CommandType = CommandType.StoredProcedure;
        SqlParameter parm1 = command.Parameters.Add("@LunWBH", SqlDbType.Int, 4);
        parm1.Direction = ParameterDirection.Input;
        parm1.Value = Convert.ToInt32(Session["lunwbh"]);
        SqlParameter parm2 = command.Parameters.Add("@BianJM", SqlDbType.VarChar, 20);
        parm2.Direction = ParameterDirection.Input;
        parm2.Value = Convert.ToString(Session["ZhuCYHM"]);
        SqlTransaction trans;
        trans = conn.BeginTransaction();
        command.Transaction = trans;
        try
        {
            command.ExecuteNonQuery();
            trans.Commit();
            Response.Write("<script>alert('已經把這篇論文放到您的論文庫中!')</script>");
        }
        catch
        {
            trans.Rollback();
            Response.Write("<script>alert('保存失敗!')</script>");
        }
        finally
        {
            conn.Close();
        }


在存儲過程中的transaction:(摘自MSDN)
DECLARE @TranName VARCHAR(20);
SELECT @TranName = 'MyTransaction';

BEGIN TRANSACTION @TranName;
USE AdventureWorks;
DELETE FROM AdventureWorks.HumanResources.JobCandidate
    WHERE JobCandidateID = 13;

COMMIT TRANSACTION @TranName;
GO

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章