PDA

View Full Version : کنترل خطا در کوئری



mehdi0020
دوشنبه 20 اردیبهشت 1395, 14:43 عصر
سلام من میخواهم قبل از اجرا کوئری نتیجه را کنترل کنم اگر کوئری خطا داشت یه پرسیجر اجرا شه بعد کوئریم اجرا شه کسی میتونه کمک کنه؟
result=command.ExecuteNonQuery();
با این دستور در هر صورت کوئری اجرا میشه و بعد میشه نتیجه رو بررسی کرد

csharpcollegian
دوشنبه 20 اردیبهشت 1395, 15:46 عصر
سلام
دوست عزیز میتونید از کد زیر استفاده کنید :

try
{
result = command.ExecuteNonQuery();
}
catch
{
.
. //Execute Procedure
.
result = command.ExecuteNonQuery();
}

دقت داشته باشید که در کد بالا اگر کوئری خطا داشته باشه، اجرا نمیشه و کامپایلر وارد بلاک catch شده و شما می تونید در ابتدا پروسیجر مورد نظرتون رو اجرا و سپس مجددا کوئری رو اجرا کنید.
البته ممکنه که کوئری شما از چند بخش مستقل تشکیل شده باشه، که در این حالت هم با استفاده از Transaction در کوئریتون، کد بالا درست نتیجه میده
موفق باشید