PDA

View Full Version : سوال: تشخیص نوع اخطار اس کیو ال از طریق سی شارپ



man_iran
چهارشنبه 07 مرداد 1388, 11:21 صبح
سلام
من می خوام نوع اخطار در دیتابیس را مشخص کنم.
تا جایی که من می دونم اخطار های اس کیو ال از sqlexception حاصل می شن ولی الان من می خوام به اخطار های خاص اس کیو ال نیز دسترسی پیدا کنم.
بعنوان مثال اخطار کلید اس کیو ال را چطور می شه مشخص کرد؟
یه سوال دیگه :
هر اخطار یه کدی داره. حالا این کد فقط مختص به خودشه ؟

Soroush.Sarabi
چهارشنبه 07 مرداد 1388, 11:29 صبح
منظورتون از اخطار کلید چیه؟

بله هر اخطاری یک کد داره

(http://soroush-sarabi.blogspot.com)

man_iran
چهارشنبه 07 مرداد 1388, 11:36 صبح
وقتی یه داده را به عنوان کلید در دیتابیس معرفی می کنید. دیگه نمی شه داده های تکراری را به آن ارسال کرد.
اگر هم بفرستید یه اخطاری می زنه. برای مشخص کردن نوع آن باید چه کار کرد؟

این یه مثاله اگه می شه کامل توضیح بدید.

man_iran
جمعه 09 مرداد 1388, 20:18 عصر
کسی نیست در این زمینه بتونه مرا راهنمایی کنه ؟

Reza_Yarahmadi
شنبه 10 مرداد 1388, 11:21 صبح
در هر کلاس استثنا (مثل SqlException) هر استثنا یه کد داره که مختص خودشه و توی اون کلاس هیچ استثنایی اون کد رو نداره. برای پیدا کردن هر استثنا هم معمولا بصورت تجربی عمل میکنن (من که اینطوری کار میکنم!!) یعنی خودت باید شرایط استثنا رو به وجود بیاری بعد از طریق کدی که به دست میاری استثنا رو مدیریت کنی.

moferferi
شنبه 10 مرداد 1388, 13:11 عصر
با SqlException اون رو catch میکنی. بعد اگه ErrorNumber اون 2627 باشه یعنی خطای تجاوز از قانون کلید اصلی.



try
{
...
...
}
catch(SqlException err)
{
if (err.ErrorNumber == 2627)
your task
...
}