在ADO.NET编写事务
来源:互联网 发布:linux 磁盘挂载 编辑:程序博客网 时间:2024/05/22 04:55
1新建一个Windows应用程序项目
2向窗体添加3个标签、3个textbox和一个buttom
3为buttom按钮添加一个click事件。
添加以下代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace chapter_8
{
public partial class Transaction : Form
{
public Transaction()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(@"
data source = ./WB_JAMES;
integrated security = SSPI;
database = master"
);
//insert statement
string sqlins = @"
insert into Students(Sno,Sname)
values(@newsno,@newsname)";
//////////////
//delete statement
string sqldel = @"
delete from Students
where Sage = @oldsage";
//open connection
conn.Open();
//begin transaction
SqlTransaction sqltrans = conn.BeginTransaction();
//////////////
try
{
SqlCommand cmdins = conn.CreateCommand();
cmdins.CommandText = sqlins;
cmdins.Transaction = sqltrans;
cmdins.Parameters.Add("@newsno", System.Data.SqlDbType.NVarChar, 5);
cmdins.Parameters.Add("@newsname", System.Data.SqlDbType.NVarChar, 30);
//create delete command
SqlCommand cmddel = conn.CreateCommand();
cmddel.CommandText = sqldel;
cmddel.Transaction = sqltrans;
cmddel.Parameters.Add("@oldsage", System.Data.SqlDbType.Int);
//add student
cmdins.Parameters["@newsno"].Value = textBox1.Text;
cmdins.Parameters["@newsname"].Value = textBox2.Text;
cmdins.ExecuteNonQuery();
//delete student
cmddel.Parameters["@oldsage"].Value = textBox3.Text;
cmddel.ExecuteNonQuery();
//commit transaction
sqltrans.Commit();
MessageBox.Show("Transaction Commit");
}
catch (System.Data.SqlClient.SqlException ex)
{
//roll back
sqltrans.Rollback();
MessageBox.Show("Transaction rolled back/n" + ex.Message,
"Rollback Transaction");
}
catch (System.Exception ex)
{
MessageBox.Show("System Error/n" + ex.Message, "Error");
}
finally
{
conn.Close();
}
}
}
}
备注:以上使用的是我自己电脑上的MASTER表!
- 在ADO.NET编写事务
- 在ADO.NET编写事务
- 在ADO.NET中实现事务
- ADO.NET中的事务
- ado.net 事务
- ADO.NET中的事务
- ADO.NET 事务控制
- ADO.NET 事务控制
- ADO.net 添加事务
- 在C#和ado.net中使用事务
- ADO.NET事务的使用
- ADO.NET事务学习小结
- 一般的ADO.net 事务
- ADO.Net Oracle 事务问题
- Ado.Net事务(transaction)
- ADO.net - 事务使用范例
- ADO.NET事务的实现
- 事务-手动事务(ado.net)
- Javascript闭包(Closure)
- POJ 1528
- NetBeans+PHP+XDebug调试程序
- 烦恼
- 同協人力资源管理系统
- 在ADO.NET编写事务
- 在ADO.NET编写事务
- POJ 1274 The Perfect Stall(最大二分匹配)
- 在 Linode(VPS)上搭建Ubuntu 10.04 Apache PHP MYSQL环境
- JQuery1.2对IE6的支持存在兼容性问题~
- CDialog中在最大化后Button随着改变位置
- 刚申请的博客,感觉不错!!!
- 【小阅读^大脑袋】0226 NO.329
- HDU 1053 && PKU 1521 Entropy (PKU 3253, HDU 2527同解)