
#region 运行SQL Server事务Run方法
/// <summary>
/// 运行SQL Server事务
/// </summary>
public void Run()
{
// 访问Microsoft SQL Server样本数据库Northwind,假设Microsoft SQL Server的sa密码为空
string connectionString=@"Server=(Local)Database=NorthwindUID=saPWD=Persist Security Info=false"
//创建Connection对象
System.Data.SqlClient.SqlConnection sqlConnection = null
System.Data.SqlClient.SqlTransaction sqlTransaction = null
try
{
sqlConnection = new System.Data.SqlClient.SqlConnection(connectionString)
sqlConnection.Open()//打开Connection
// 开始本地事务,Connection.BeginTransaction()
// IsolationLevel.ReadCommitted:
// 在正在读取数据时保持共享锁,以避免脏读,但是在事务结束之前可以更改数据,从而导致不可重复的读取或幻像数据。
sqlTransaction = sqlConnection.BeginTransaction(System.Data.IsolationLevel.ReadCommitted,"SQLTransaction")
//创建Command对象
System.Data.SqlClient.SqlCommand sqlCommand = sqlConnection.CreateCommand()
// 指派Connection和Transaction对象给Command对象
sqlCommand.Connection = sqlConnection
sqlCommand.Transaction = sqlTransaction
//开始执行事务,该事务由命令1 2 3组成.
// 执行数据库命令1
sqlCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (200, \'Description\')"
sqlCommand.ExecuteNonQuery()
// 执行数据库命令2
sqlCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (201, \'Description\')"
sqlCommand.ExecuteNonQuery()
// 执行数据库命令3!!!与命令1相同,会出错
sqlCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (200, \'Description\')"
sqlCommand.ExecuteNonQuery()
// 提交事务
sqlTransaction.Commit()
Console.WriteLine("两条数据库命令已经执行完成.")
}
catch(Exception e)
{
try
{
if(sqlTransaction != null)
{
// 回滚事务
sqlTransaction.Rollback("SQLTransaction")
}
}
catch (System.Data.SqlClient.SqlException ex)
{
// 回滚事务失败
if (sqlTransaction.Connection != null)
{
Console.WriteLine("执行回滚事务时出现 " + ex.GetType() + " 违例!" + ex.Message)
}
}
Console.WriteLine("在执行数据库命令时出现 " + e.GetType() + " 违例!" + e.Message)
Console.WriteLine("两条数据库命令均未完成.")
}
finally
{
//关闭Connection
if(sqlConnection != null)
{
sqlConnection.Close()
}
}
}
#endregion
join 没有一个表连接多个表用逗号分割的语法,你必须这么连接select GY_JBBM.NAME,GY_KSDM.KSMC,GY_YGDM.YGMC,YS_JBZD.ZDSJ
from GY_YGDM join GY_JBBM on (GY_JBBM.id=GY_YGDM.id ) join GY_KSDM on(GY_YGDM.id = GY_KSDM.id) ………………
一个个把所有表都连接完
还有问题hi我。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)