zoukankan      html  css  js  c++  java
  • 个人学习代码保存:例8.在存储过程中使用简单的事务处理

    存储过程:

    ALTER PROCEDURE dbo.myTran 
        
        (
        
    @title varchar(50),
        
    @body varchar(500)
        )
        
    AS
        
    declare @id int
        
    begin Transaction
        
    insert into guestbook(title,body) values(@title,@body)
        
    set @id=@@identity
        
    insert into guestbook(title,body) values(@id,@body)
        
    if @@error<>0--发生错误
        begin
        
    rollback transaction
        
    return 0--执行失败
        end
        
    else
        
    begin
        
    commit transaction
        
    return 1--执行成功
        end
        
    RETURN

    前台代码:
    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        
    <title>无标题页</title>
    </head>
    <body>
        
    <form id="form1" runat="server">
        
    <div>
            标题:
    <asp:TextBox ID="txtTitle" runat="server"></asp:TextBox>
            
    <br />
            内容:
    <asp:TextBox ID="txtBody" runat="server"></asp:TextBox><br />
            
    <asp:Button ID="Button1" runat="server" Text="提交并执行事务" OnClick="Button1_Click" /></div>
        
    </form>
    </body>
    </html>
    后台代码:
    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;

    public partial class _Default : System.Web.UI.Page 
    {
        
    protected void Page_Load(object sender, EventArgs e)
        
    {

        }

        
    protected void Button1_Click(object sender, EventArgs e)
        
    {
            
    string connstr=ConfigurationManager.AppSettings["ConnectionString"].ToString();
            SqlConnection con 
    = new SqlConnection(connstr);
            
    if (con.State.Equals(ConnectionState.Closed))
            
    {
                con.Open();
            }

            
    string procName = "dbo.myTran";
            SqlCommand cmd 
    = new SqlCommand(procName,con);
            cmd.CommandType 
    = CommandType.StoredProcedure;
            cmd.Parameters.Add(
    "@title",SqlDbType.VarChar,50);
            cmd.Parameters.Add(
    "@body",SqlDbType.VarChar,500);
            cmd.Parameters[
    0].Value = this.txtTitle.Text.Trim();
            cmd.Parameters[
    1].Value = this.txtBody.Text.Trim();
            
    int intResult=Convert.ToInt32(cmd.ExecuteNonQuery());
            
    if (intResult > 0)
            
    {
                Response.Write(
    "事务执行成功");
            }

            
    else
            
    {
                Response.Write(
    "事务执行失败");
            }

        }

    }

  • 相关阅读:
    位置边框深度探索QT窗口系统几何篇2
    下载图片封装一个工具类,搞定图片批量下载
    svn判断通过svnkit,获取最新的revision以及判断某个revsion是否存在
    java路径Java开发中获得非Web项目的当前项目路径
    遍历文件Java中遍历出指定目录中的所有文件
    存储过程程序存储过程编程5
    工具设置Unity3D系列教程使用免费工具在Unity3D中开发2D游戏 第一节
    破解学习Asprise OCR v4.0 64位破解...仅供学习使用
    宽度拉伸9patch图的尺寸尽量为偶数
    nullnull用宏定义swap(x,y)
  • 原文地址:https://www.cnblogs.com/wbcms/p/1037561.html
Copyright © 2011-2022 走看看