تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 5 از 5

نام تاپيک: Error در Sql

  1. #1
    در آغاز فعالیت samanta 87's Avatar
    تاريخ عضويت
    Feb 2010
    محل سكونت
    Esfahan
    پست ها
    8

    پيش فرض Error در Sql

    من یک فرم برای ورود اطلاعات در محیط Visual با زبان #C ایجاد کردم . مواقعی که کاربر در ورود اطلاعت دچار خطا می شود مثلا ورود ID تکراری یک خطای SQL دریافت می کند. لطفا به من بگوویید چطور می توانم یک Error مناسب و بهتر خودم تعریف و جایگزین کنم.

  2. #2
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    ضمن تبریک عضویت شما دوست عزیز ...

    با کمک کلمه کلیدی try در هر دو زبان vb و #c میتوانید خطاها را هندلر کنید و عمل مناسبی در قبال انها انجام دهید.
    (البته بهتر است تا حد امکان خطاها را پیشبینی کنید و قبل از وقوع آنها کار مناسب را انجام دهید)

    کلمه کلیدی فوق در پست های 69 و 57 زیر توضیح داده شده اند:
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

  3. #3
    در آغاز فعالیت samanta 87's Avatar
    تاريخ عضويت
    Feb 2010
    محل سكونت
    Esfahan
    پست ها
    8

    پيش فرض

    ممنون از راهنماییتون. من یک نکته را متوجه نمی شوم این کد را کجا قرار دهیم تا قبل از دریافت یک خطای Sql ای که در اثر فرستاده شدن رشته Sql به تابع DoCommand در Data Access Layer و اجرای آن در ExecuteNonQuery ایجاد می شود, بتوان یک Error مناسب ارائه داد.

  4. #4
    پروفشنال anvar.net's Avatar
    تاريخ عضويت
    Apr 2007
    محل سكونت
    IRAN
    پست ها
    648

    پيش فرض

    ظاهرا در برنامه ات از چند لایه استفاده می کنی!!

    طبعا هم به جای سخت نویسی رشته SQL از Stored Procedure استفاده کردی. اگه جواب درسته :

    می تونی در داخل SP ها از دستورات شرظی استفاده کنی و چک کنی تا مشخص بشه مشکلی نیست اگر مشکلی بود همانجا یک ارور رو برای درخواست کننده می فرستی تا به کاربر بده.

    مثلا من می خوام قبل از اینکه ایتم جدیدی در بانک اضافه بشه چک کنم آیا قبلا ایتمی با این مشخصات موجوده یا نه
    If exist (select X,y from table where id=1

    begin

    RAISERROR("this id is already in database, try with another id",18,1

    End

    else

    Begin try
    در این جا می تونی ایتم جدیدت رو اضافه کنی, چرا که همچنین ID موجود نیست
    End try

    Begin catch

    RAISERROR ("Insert failed,18,1

    Return

    End catch
    اون عدد های 18 و 1 هم میزان حساسیت خطای شما رو مشخص می کنه پرا نتزها رو خودت درست کن .

    اگر هم از SP استفاده نمی کنی باید بتونی شماره پیام رو بگیری و با توجه به اون پیام مناسب خودت رو بدی
    در ضمن نوع Exception هم باید از نوع SQLexception تعریف شود

  5. #5
    در آغاز فعالیت samanta 87's Avatar
    تاريخ عضويت
    Feb 2010
    محل سكونت
    Esfahan
    پست ها
    8

    پيش فرض

    خوب من از SP استفاده نکردم اما می نویسم این طوری راحت تر می شود. نظرت در مورد Trigger نوشتن چیه اون را از نوع Inserted تعریف کنم و اگه در table این ID وحود داشت Rollback کنم با یک پیغام ولی مشکل اینجا است که پیغام با Print پاس داده نمی شه درسته؟

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •