关于sql中的事务使用的举例
在执行多条sql语句命名的时候,sqltransaction是很有用的
1 public static bool insert(string title)
2 {
3 bool bol = false;
4 string cmdText = "insert into news(title) values('" + title + "')";
5 string cmdText2 = "insert into users(name) values('" + title + "')";
6 SqlConnection conn = SqlConnect();
7 conn.Open();
8 //通过SqlConnection的BeginTransaction方法创建名为st的对象Transaction
9 SqlTransaction st = conn.BeginTransaction();
10 SqlCommand cmd = conn.CreateCommand();
11 //将SqlTransaction对象分配给SqlCommand对象的Transaction属性
12 cmd.Transaction = st;
13 try
14 {
15 cmd.CommandText = cmdText;
16 cmd.ExecuteNonQuery();
17 cmd.CommandText = cmdText2;
18 cmd.ExecuteNonQuery();
19 st.Commit();
20 bol = true;
21
22 }
23 catch (Exception ex)
24 {
25 st.Rollback();
26 Debug.Fail(ex.Message);
27
28 }
29 finally
30 {
31 if (conn.State == ConnectionState.Open)
32 {
33 conn.Close();
34 }
35 }
36 return bol;
37 }
其实还是很简单的,不过很实用!2 {
3 bool bol = false;
4 string cmdText = "insert into news(title) values('" + title + "')";
5 string cmdText2 = "insert into users(name) values('" + title + "')";
6 SqlConnection conn = SqlConnect();
7 conn.Open();
8 //通过SqlConnection的BeginTransaction方法创建名为st的对象Transaction
9 SqlTransaction st = conn.BeginTransaction();
10 SqlCommand cmd = conn.CreateCommand();
11 //将SqlTransaction对象分配给SqlCommand对象的Transaction属性
12 cmd.Transaction = st;
13 try
14 {
15 cmd.CommandText = cmdText;
16 cmd.ExecuteNonQuery();
17 cmd.CommandText = cmdText2;
18 cmd.ExecuteNonQuery();
19 st.Commit();
20 bol = true;
21
22 }
23 catch (Exception ex)
24 {
25 st.Rollback();
26 Debug.Fail(ex.Message);
27
28 }
29 finally
30 {
31 if (conn.State == ConnectionState.Open)
32 {
33 conn.Close();
34 }
35 }
36 return bol;
37 }