![](/img/trans.png)
[英]Convert MembershipProvider from OBDC to SQL throwing exception
[英]Throwing an exception from SQL Server transaction
.NET 應用程序連接到 SQL Server 數據庫。 交易查詢存儲在 C# 代碼中的字符串中:
query = "BEGIN TRANSACTION Trans " +
" BEGIN TRY " +
" --transaction code goes here (don't worry, it is all parameterised) " +
" END TRY " +
" BEGIN CATCH " +
" ROLLBACK TRANSACTION Trans " +
" THROW; " +
" END CATCH " +
"END TRANSACTION Trans ";
該查詢執行如下:
try
{
using (SqlConnection conn = new SqlConnection(Configuration.connectionString))
{
SqlCommand cmd = new SqlCommand(query,conn);
conn.Open();
cmd.ExecuteNonQuery();
}
}
catch (Exception ex)
{
// By the way, I know it is bad practice to catch a System.Exception.
}
如果查詢本身發生異常,並且我如上拋出異常,它會被 C# 代碼中的 try-catch 塊捕獲嗎?
正如你提到的,如果你扔它,那么它會被 catch 抓住
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.