怎么使用net事务
解决方案 »
- 一个非常诡异的问题 高手来指点一下
- 百度输入框的效果,被下面的表格给挡住了,怎么解决
- 这样的导航菜单怎么实现?C#.NET+Oralce
- 怎么设置水晶报表中表头的图表单独占用一页,其它的东西从第2页开始显示?
- asp.net做的聊天室
- 服务器出现意外情况。 (异常来自 HRESULT:0x80010105 (RPC_E_SERVERFAULT))
- 为什么我的页面基类(父类)的page_load事件发生在子类page_load后面啊?
- edititemtemplate中的dropdownlist有原始数据,想在编辑状态时显示数据库中绑定数据!
- asp.net 的缓存占用服务器资源吗?还是只在客户端?
- 请教什么情况下,datalist的itemcomand事件不激发?datalist绑定的控件是button?
- XML显示成表格
- 一个 SQL语句 和 参数的问题 在线等
/// 一般的ADO.net 事务
/// </summary>
public void ADONetTran1()
{
SqlConnection conn = new SqlConnection("Data Source=127.0.0.1;Initial Catalog=Northwind;Persist Security Info=True;User ID=sa;Password=123;");
SqlCommand cmd = new SqlCommand();
try
{
cmd.CommandText = "Update Region Set RegionDescription=@UpdateValue where RegionID=@UpdateID";
cmd.CommandType = CommandType.Text;
cmd.Connection = conn;
conn.Open();
SqlParameter[] paras = new SqlParameter[]{
new SqlParameter ("@UpdateID",SqlDbType.Int,32),
new SqlParameter ("@UpdateValue",SqlDbType .NChar,50)};
paras[0].Value = "2";
paras[1].Value = "Update Value12"; foreach (SqlParameter para in paras)
{
cmd.Parameters.Add(para);
}
//开始事务
cmd.Transaction = conn.BeginTransaction();
cmd.ExecuteNonQuery();
cmd.CommandText = "insert into Region values(@InsertID,@InsertValue)";
cmd.CommandType = CommandType.Text; paras = new SqlParameter[]{
new SqlParameter ("@InsertID",SqlDbType.Int ,32),
new SqlParameter ("@InsertValue",SqlDbType.NChar ,50)};
paras[0].Value = "7";
paras[1].Value = "Insert Value"; cmd.Parameters.Clear();
foreach (SqlParameter para in paras)
{
cmd.Parameters.Add(para);
} cmd.ExecuteNonQuery();
//提交事务
cmd.Transaction.Commit();
}
catch
{
//回滚事务
cmd.Transaction.Rollback();
throw;
}
finally
{
conn.Close();
} }