PDA

View Full Version : تشخیص محل دقیق error



bahramsport
پنج شنبه 24 اسفند 1385, 18:54 عصر
فرض کنید 5 تا TEXT BOX داریم که بوسیله QURY به SQL ورود اطلاعات داریم و بعضی از این TEXTBOX ها عدد است و تبدیل STRING به INT داریم بعضی مواقع ممکن است در تبدیل به مشکل بخوریم من میخواهم محل دقیق وقوع را بفهمم - من در یک TRY کلی آنرا تست می کنم -
مثلا TEXTBOX1 یا TEXTBOX2 چگونه ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

Alireza_Salehi
پنج شنبه 24 اسفند 1385, 19:05 عصر
برای تبدیل از چه روشی استفاده کردید؟

مهدی نان شکری
جمعه 25 اسفند 1385, 17:01 عصر
می تونید در ولیدیت تکست باکس ها با ISNumeric عددی بودن اون ها رو تست کنید.

bahramsport
شنبه 26 اسفند 1385, 08:07 صبح
ctype(,) از همین استفاده می کنم

مهدی نان شکری
شنبه 26 اسفند 1385, 09:29 صبح
در این صورت اگر کاربرتون به جای عدد یک رشته وارد کنه باید برای هر ctype یک try catch بنویسید. که هم باعث می شه در هنگام ورود اشتباه کاربر سرعت برنامه افت کنه.
به نظر من اگه یک کنترل Numeric Text box بنویسید و از آن استفاده کنید بهتره و یا ابتدا اول از عددی بودن ورودی توسط تابع ISNumeric مطمئن بشید بعد تبدیل کنید. و اگر هم ISNumeric مقدار False برگردونه یک خطا گزارش کنید و از روال بیایید بیرون.
این روشی هست که به نظر من می رسه.

Alireza_Salehi
شنبه 26 اسفند 1385, 09:53 صبح
1.اگر از Int32.Parse("") استفاده کنید در صورتی که قابل تبدیل نباشه Exception تولید میکنه ، که دقیقا محل Exception مشخصه!

2.در صورتی که می خواهید Exception تولید نشه و اگر قابل تبدیل نبود عدد صفر برگردونه از Int32.TryParse("Input String",Output) استفاده کنید.اگر تبدیل به درستی انجام شده باشه True برمیگردونه وگرنه False.

فکر کنم با روش دوم و چند تا دستور IF مشکل حل بشه!

bahramsport
شنبه 22 اردیبهشت 1386, 18:14 عصر
میشه بگید محل دقیق آنرا با چه دستوری بدست می آورند ؟؟؟؟
راستش تعداد فرم ها زیاد و textbox ها هم در هر فرم بسیار زیاد است اگر خواسته باشم از if و isnummeric استفاده کنم خیلی طول میکشه دنبال یک روش ساده تر هستم ؟؟؟

bahramsport
یک شنبه 23 اردیبهشت 1386, 12:49 عصر
کسی به این مورد بر نخورده ؟؟؟؟
یکی کمک کنه ؟؟

ghafoori
دوشنبه 24 اردیبهشت 1386, 07:13 صبح
دوست عزیز من داخل یکی از برنامه هام لازم بود تا 100 عدد دریافت کنم یک تکس باکس جدید استفاده کردم بعد رویداد keydown را overrides کردم که این تکس باکس فقط عدد بگیرد و یک متد هم به ان اضافه کردم که مستقیما مقدار عددی تکس باکس را تحویل می داد بعد در هرجا برنامه از این تکس باکس استفاده کردم