نمایش نتایج 1 تا 8 از 8

نام تاپیک: عوض کردن پیغام خود با پیغام سیستم

  1. #1

    Tick عوض کردن پیغام خود با پیغام سیستم

    با سلا خدمت دوستان عزیز من به مشکلی برخوردم که امیدوارم در رفع آن به من کمک کنید
    با استفاده از wizardهای vsیک bindingsourceویک dataset ساختم و یک datagridview را با
    با کمک آنها fillکردم حالا اگر کاربر در datagridview بخواهد سطر جدیدی ایجاد کند اگر بدون کامل کردن تمام فیلدها بخواهد سطر را ترک کند یک سیستم یک پیغام میدهد مبنی بر اینکه
    در databaseمقدار nullنامعتبر است تا اینجا درست حالا اگر بخواهیم بجای پیغام سیستم
    خودمان یک پیغام به کاربر بدهیم چه کار باید بکنیم باتشکر

  2. #2
    کاربر دائمی آواتار MH2538
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    No Man Land
    پست
    537
    از try و catch استفاده کن و با گرفتن exceptionها به جای نمایش پیغام های سیستم اون، پیغام‌های خودت رو نمایش بده.

  3. #3
    مشکل اینجاست که چون vbبه طور اتوماتیک این کار را انجام میدهد نمیدانم که در کدام رویداد باید try ,catchرا باید بنویسم

  4. #4
    به نظر من اگه جدولی که اطلاعاتی می خواین توش ذخیره کنین رو همه فیلدهاش باید Null پذیر باشند و یا ایگه می خواین خودتون پیغام بدین راحت ترین راه حل اینه که در رویداد CellValidating دیتاگریدویو خودتون مقدار رو چک کنین و پیغامی که می خواین بدین.

  5. #5
    کاربر دائمی آواتار MH2538
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    No Man Land
    پست
    537
    با سلام
    چیزی که مسلمه اینه که اگر برنامه رو با دقت بنویسید میشه گفت که تعداد خاصی از دستورات باعث ایجاد خطا و exception خواهند شد. مسلماً شما هم برای این دستورات نیاز به try دارید.
    برای نمونه عرض می‌کنم :‌وقتی که کانکشن استرینگ رو باز (open) می کنید معمولاً نیاز به try هست به این دلیل که ممکن است سرور دیتابیس به هر دلیلی مشکل پیدا کند.

  6. #6
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736
    اگر از برنامه نویسی ۳ لایه استفاده میکنید (که را درستش هم همین است) مثالهایه برایه روش درست انجام اینکار وجود دارند.

  7. #7
    کاربر دائمی آواتار MH2538
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    No Man Land
    پست
    537
    استفاده کور کورانه از try catch و ماسمالی کردن اشکلات در حد یک برنامه نویس نیست (حتی برنامه نویس وی بی)
    استفاده از try به هیچ عنوان به معنی ماست‌مالی! کردن پروژه نیست.
    شخصاً در تمام پروژه هام (که دست بر قضا 90٪ اونها n لایه هستند) از try استفاده می‌کنم ولی نه برای اینکه کاربر خطا رو نبینه!!! تصور کنید درج اطلاعات با خطا مواجه بشه و کاربر هم خطا رو نبینه. ضمن اینکه قبلاً هم گفتم و صورت مساله دوستمون هم تغییر پیغام هایی خطا به پیغام‌های قابل فهم برای کاربر بود نه حذف اونها.
    من در هرجای پروژه که نقطه حساسی باشه و احتمال بروز خطا بنابدلایل غیرقابل کنترل ، غیر قابل پیش بینی بشه از try استفاده می‌کنم اما ضمن ارسال پیغام قابل فهم به کاربر ، اصل پیام خطا رو هم log می کنم و با یک روش خاص سریعاً به اطلاع admin برنامه می‌رذسونم و به این ترتیب به خودم هم در ارتقاء و بهبود نرم‌افزار کمک می‌کنم.
    من در حال حاضر مشغول کار بروی config یک سیستم ERP‌که محصول یک شرکت خارجی‌است ، هستم در سیستم اونها هم تمام پیام‌های خطا که از طرف برنامه تولید می‌شه به پیغام‌هایی قابل درک برای کاربر تبدیل میشه.
    ضمناً تعداد لایه ها ربطی به این مسئله پیدا نمی‌کنند.

  8. #8
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736
    نقل قول نوشته شده توسط MH2538 مشاهده تاپیک
    ضمناً تعداد لایه ها ربطی به این مسئله پیدا نمی‌کنند.
    بستگی دارد به اینکه منظور از "این مسئله " چی باشد.
    اگر "این مسئله " جایگزین کردن یک مساج با مساج دیگر هنگام بروز خطاست، بله ربطی ندارد.

    ولی اصل این مطلب ربطی به try catch ندارد.
    این سوال کلاسیکی است که همیشه برایه برنامه‌هایه داتابیسی پیاش میاد و اگر در لایه تجاری شرطهایه درست پیاده سازی شده باشد احتیاجی به این روشهایه غیره حرفه‌ای نیست.

    http://aspalliance.com/1346_Getting_...Data_Binding.2
    روش درست حل این مسئله را برایه تازه کارها نشان میده.

    من در ERP مایکروسافت داینامیکس استفاده از try catch را برایه اینچنین کاری را ندیدم.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •