使用事务(WinForm+SQL Server)
事务是作为单个逻辑工作单元执行的一系列操作。一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务。事务管理特性,强制保持事务的原子性和一致性。事务启动之后,就必须成功完成,否则SQL Server将撤消该事务启动之后对数据所作的所有修改。
public bool Tran(string strID,string strName,string strSex,string strDelID,bool IfDO)
{
using (SqlConnection connection = ConDB()); //创建连接对象
{
SqlTransaction sqlTran = connection.BeginTransaction();//开始事务
SqlCommandcommand = connection.CreateCommand();//创建SqlCommand对象
command.Transaction = sqlTran;//将SqlCommand与SqlTransaction关联起来
try
{
command.CommandText = "insert into t_people values(" + strID + "," + strName +
"," + strSex + ")";
command.ExecuteNonQuery();
command.CommandText = "delete from t_people where tb_PID=" + strDelID + "";
command.ExecuteNonQuery();
if (IfDO)//抛出异常,另其发生回滚
{
throw new Exception();
}
sqlTran.Commit();
connection.Close();
return true;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
sqlTran.Rollback();
return false;
}
}
}
为Tran方法获取参数,如果Tran方法成功则信息成功添加否则添加失败。为了使读者可以更好的了解事务的工作原理,程序中人为的标识事物的操作方式(提交、回滚)。
private void button1_Click(object sender, EventArgs e)
{
ClsDB.ClsDBControl DBDT = new OptDB.ClsDB.ClsDBControl();
string strid, strname, str易做图, strDelid;
strid = this.textBox1.Text.Trim().ToString();
strname = this.textBox2.Text.Trim().ToString();
str易做图 = this.textBox3.Text.Trim().ToString();
strDelid = this.textBox4.Text.Trim().ToString();
bool Bt;
if (this.radioButton1.Checked)
{
Bt = false;
}
else
{
&nb
补充:软件开发 , C# ,