在SqlTransaction中选择Command是否可行? [英] Select Command inside SqlTransaction it is possible?
本文介绍了在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屋!
查看全文