关于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
}
其实还是很简单的,不过很实用!
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的对象Transaction9
SqlTransaction st = conn.BeginTransaction();10
SqlCommand cmd = conn.CreateCommand();11
//将SqlTransaction对象分配给SqlCommand对象的Transaction属性12
cmd.Transaction = st;13
try14
{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
finally30
{31
if (conn.State == ConnectionState.Open)32
{33
conn.Close();34
}35
}36
return bol;37
}

浙公网安备 33010602011771号