0
如果我調用一個存儲過程如何檢測到它已在服務器上成功完成,現在我只是做一個嘗試捕獲這不是做這件事的最好方法。檢測是否存儲過程刪除運行
public bool deleteTeam(Guid teamId)
{
try
{
string cs = ConfigurationManager.ConnectionStrings["uniteCms"].ConnectionString;
SqlConnection myConnection = new SqlConnection(cs.ToString());
// the stored procedure
SqlCommand cmd = new SqlCommand(
"proc_unitecms_deleteTeam", myConnection);
// 2. set the command object so it knows
// to execute a stored procedure
cmd.CommandType = CommandType.StoredProcedure;
// 3. add parameter to command, which
// will be passed to the stored procedure
cmd.Parameters.Add(
new SqlParameter("@ID", teamId));
return true;
} catch(Exception ex)
{
return false;
}
}
從存儲的過程返回一個值。只要將'select 1'寫爲sproc的最後一行,然後從方法調用'SqlCommand.ExecuteScalar()'方法中運行即可。讀取值,如果它是'1',你的sproc成功運行。當然,你可以根據你存儲區中的try catch塊返回不同的值。 – singsuyash
爲什麼'try-catch'不夠?如果僅僅是檢測錯誤,這應該就足夠了。你想知道存儲過程中的特定條件是否被滿足?您可以使用您在存儲過程中爲稍後設置的'OUT'參數。在你的代碼示例中,沒有實際執行存儲過程的代碼。這是不是偶然? – Markus