dotnet中调用存储过程的用法,包含事务处理

原创 2007年09月13日 11:08:00

簡單的存儲過程如下:

using System;
using System.Data;
using System.Data.OleDb;
using System.Configuration;
using System.Collections;
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.IO;
using System.Drawing;
using System.Reflection;
using System.Runtime.InteropServices;
using Microsoft.Office.Interop.Excel;
using System.Data.Common;
using Microsoft.Practices.EnterpriseLibrary.Common;
using Microsoft.Practices.EnterpriseLibrary.Configuration;
using Microsoft.Practices.EnterpriseLibrary.Data;



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

    }


    
protected void Button1_Click(object sender, EventArgs e)
    
...
        ExcelOperation OEM 
= new ExcelOperation();
        
string isCommit = "Y";
        Database db 
= DatabaseFactory.CreateDatabase();
        DbConnection tconn 
= db.CreateConnection();
        DbCommand cmd 
= tconn.CreateCommand();
        DbCommand cmd1 
= tconn.CreateCommand();
       tconn.Open();
       DbTransaction ttran
= tconn.BeginTransaction();
       cmd.Connection 
= ttran.Connection;
       cmd1.Connection 
= ttran.Connection;
       cmd.Transaction 
= ttran;
       cmd1.Transaction 
= ttran;
       
try
       
...{
           cmd.CommandText 
= "PR_INSERTDM";
           cmd.CommandType 
= CommandType.StoredProcedure;
            OEM.AddInParameter(cmd, 
"ptaskid",txt1.Text);
            OEM.AddInParameter(cmd, 
"proleid",  txt2.Text);
            OEM.AddInParameter(cmd, 
"pmembername", txt3.Text);
            cmd.ExecuteNonQuery();
         
            cmd1.CommandText 
= "PR_INSERTDT";
            cmd1.CommandType 
= CommandType.StoredProcedure;
            OEM.AddInParameter(cmd1, 
"PTASKID", txt4.Text);
            OEM.AddInParameter(cmd1, 
"PROLEID", txt5.Text);
            OEM.AddInParameter(cmd1, 
"PDEPTNAME", txt6.Text);
            cmd1.ExecuteNonQuery();
       }

       
catch(Exception ex)
       
...{
           isCommit 
= "No";
           tconn.Close();
       }

       
finally
       
...{
           
if (isCommit == "No")
           
...{
               ttran.Rollback();
               
throw new Exception("操作失敗!");
           }

           
else
           
...{
               ttran.Commit();
           }

           tconn.Close();
       }
      
    }

}

説明:1.存儲過程和類都比較簡單,目的是盡量簡單的説明在事務中調用多個存儲過程的用法.

2.可能有比這個更好的代碼,如果願意你可以發表你的評論,我很樂意接受.

php调用sqlserver存储过程使用事务处理

第一次编写sqlserver存储过程并在php里调用,把脑瓜都整大了,奋战了一天多最后还是搞定了。 实现功能:在sqlserver里面实现事务处理,保证数据库操作安全; 接收sqlserver存储...

SQLServer 存储过程 带事务处理实例(二)

CREATE PROCEDURE [dbo].******** ( @smallOrderNo varchar(50), @phoneModel varchar(50), @beginSn va...

SQL Server在存储过程中编写事务处理代码的三种方法

SQL Server中数据库事务处理是相当有用的,鉴于很多SQL初学者编写的事务处理代码存往往存在漏洞,本文我们介绍了三种不同的方法,举例说明了如何在存储过程事务处理中编写正确的代码。希望能够对您有所...

SQLServer 存储过程 带事务处理实例(一)

ALTER procedure [dbo].[P_DelImportData] ( @orderNo varchar(50), --定义存储过程传入参数 @smallOrderNo varc...

MySQL之21-29 重点: 视图,触发器,存储过程,游标,事务处理

21.创建和操作表 21.1.创建表 CREATE TABLE创建表,必须给出下列信息: 1)  新表的名字,在关键字CREATETABLE之后 2)  表列的名字和定义,用逗号分隔 CREATE T...

SQLServer 存储过程 带事务处理实例(四)

CREATE procedure [dbo].******* ( @smallOrderNo varchar(50), @phoneModel varchar(50), @beginBoxNo ...

SqlServer数据库的存储过程以及事务处理

SqlServer数据库的存储过程以及事务处理 一、存储过程 二、事务处理

SQL Server在存储过程中编写事务处理代码的三种方法

SQL Server中数据库事务处理是相当有用的,鉴于很多SQL初学者编写的事务处理代码存往往存在漏洞,本文我们介绍了三种不同的方法,举例说明了如何在存储过程事务处理中编写正确的代码。希望能够对您有所...

(转) SQL Server在存储过程中编写事务处理代码的三种方法

SQL Server在存储过程中编写事务处理代码的三种方法 SQL Server中数据库事务处理是相当有用的,鉴于很多SQL初学者编写的事务处理代码存往往存在漏洞,本文我们介绍了三种不同的方法,...

SQL Server在存储过程中编写事务处理代码的三种方法

SQL Server中数据库事务处理是相当有用的,鉴于很多SQL初学者编写的事务处理代码存往往存在漏洞,本文我们介绍了三种不同的方法,举例说明了如何在存储过程事务处理中编写正确的代码。希望能够对您有所...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:dotnet中调用存储过程的用法,包含事务处理
举报原因:
原因补充:

(最多只允许输入30个字)