在SqlTransaction中选择Command是否可行? [英] Select Command inside SqlTransaction it is possible?

查看:79
本文介绍了在SqlTransaction中选择Command是否可行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



任何人都可以帮助我..



我在一个交易中执行插入更新和删除我想使用选择命令。

可以在交易中选择数据吗?



我的代码 -



 SqlConnection Con =  new  SqlConnection(connectionStr); 
Con.Open();
SqlTransaction Trans = Con.BeginTransaction();
尝试
{
CommonMethods.ExecuteNonQueryWithTrans( 插入到tbldata(名称)值(' + TextBox1.Text.Trim()+ '),Con,Trans);
CommonMethods.ExecuteNonQueryWithTrans( 更新tbldata set Name ='Surendra',Con,Trans );
// CommonMethods.ExecuteNonQueryWithTrans(从tbldata删除,Con,Trans); // *生成错误* //
CommonMethods.LoadGridData(GridView1, Select * from tbldata);
Trans.Commit();
Response.Write( < font color ='green'> 成功完成交易! !< /字体>中);
}
catch (Exception ExX)
{
Trans.Rollback();
Con.Close();
Response.Write( < font color ='Red'> 交易回滚由于错误!< /字体>中);
}





如果我使用此代码如下代码我可以使用select命令,因为交易现在通过

和第二个选项是使用Nolock



 SqlConnection Con =  new  SqlConnection(connectionStr); 
Con.Open();
SqlTransaction Trans = Con.BeginTransaction();
尝试
{
CommonMethods.ExecuteNonQueryWithTrans( 插入到tbldata(名称)值(' + TextBox1.Text.Trim()+ '),Con,Trans);
// CommonMethods.ExecuteNonQueryWithTrans(更新tbldata set Name ='Surendra',Con,Trans);
// CommonMethods.ExecuteNonQueryWithTrans(从tbldata删除,Con,Trans); // *生成错误* //
// CommonMethods.LoadGridData(GridView1,Select *来自tbldata与(NOLOCK));
Trans.Commit();
CommonMethods.LoadGridData(GridView1, select * from tbldata);
Response.Write( < font color ='green'>< b>事务成功提交!!< / b>< /字体>中);
}
catch (Exception ExX)
{
Trans.Rollback();
Con.Close();
Response.Write( < font color ='Red'>< b>交易回滚到期错误!!< b>< / font>);
}

解决方案

这可能对您有所帮助。





http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope(v = vs.110).aspx [ ^ ]

Hi,
Can anyone please help me..

im performing insert update and Delete within a transaction and i want to use Select Command.
It is possible to select data with in a Transaction?

My Code--

SqlConnection Con = new SqlConnection(connectionStr);
        Con.Open();
        SqlTransaction Trans = Con.BeginTransaction();
        try
        {
            CommonMethods.ExecuteNonQueryWithTrans("Insert into tbldata(Name) Values('" + TextBox1.Text.Trim() + "')", Con, Trans);
            CommonMethods.ExecuteNonQueryWithTrans("Update tbldata set Name='Surendra'", Con, Trans);
           // CommonMethods.ExecuteNonQueryWithTrans("Delete From tbldata", Con, Trans); //*Generating Error*//
            CommonMethods.LoadGridData(GridView1,"Select * from tbldata");
            Trans.Commit();
            Response.Write("<font color='green'>Transaction Committed Successfully!!</font>");
        }
        catch (Exception ExX)
        {
            Trans.Rollback();
            Con.Close();
            Response.Write("<font color='Red'>Transaction rollbacked due to error!!</font>");
        }



If i Use this Like below code im able to use select Command because Transaction is Commited now
and Second option is With Nolock

SqlConnection Con = new SqlConnection(connectionStr);
       Con.Open();
       SqlTransaction Trans = Con.BeginTransaction();
       try
       {
           CommonMethods.ExecuteNonQueryWithTrans("Insert into tbldata(Name) Values('" + TextBox1.Text.Trim() + "')", Con, Trans);
          // CommonMethods.ExecuteNonQueryWithTrans("Update tbldata set Name='Surendra'", Con, Trans);
          // CommonMethods.ExecuteNonQueryWithTrans("Delete From tbldata", Con, Trans); //*Generating Error*//
          // CommonMethods.LoadGridData(GridView1, "Select * from tbldata with (NOLOCK)");
           Trans.Commit();
           CommonMethods.LoadGridData(GridView1, "Select * from tbldata");
           Response.Write("<font color='green'><b>Transaction Committed Successfully!!</b></font>");
       }
       catch (Exception ExX)
       {
           Trans.Rollback();
           Con.Close();
           Response.Write("<font color='Red'><b>Transaction rollbacked due to error!!<b></font>");
       }

解决方案

This may help you.


http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope(v=vs.110).aspx[^]


这篇关于在SqlTransaction中选择Command是否可行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆