static void Main(string[] args)
{
Console.WriteLine(Text("Persist Security Info=True;Data Source=.;Initial Catalog=test;User ID=sa;Password=sa;MultipleActiveResultSets=True;Connect Timeout=30"));
Console.ReadLine();
}
static public int Text(string connString)
{int num = 0;
string sql =
@"begin try begin transaction t
DECLARE @error int
insert into test.dbo.info(
[name]
,[isType])values('2222','12'),('2222','ww')
commit transaction t
set @error=5
end try
begin catch
rollback transaction t
set @error=3
end catch
select @error";
using (SqlConnection conn = new SqlConnection(connString))
{
SqlCommand cmd = new SqlCommand(sql, conn);
try
{
conn.Open();
num = (Int32)cmd.ExecuteNonQuery();//返回影响行数,如果catch返回0,如果insert错误返回-1
num = (Int32)cmd.ExecuteScalar();//返回@error的值
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
return (int)num;
}