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

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




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

نام تاپيک: چرا strID هم به صورت رشته و هم به صورت یک عدد صحیح قابل قبول است؟

  1. #1
    آخر فروم باز قله بلند's Avatar
    تاريخ عضويت
    Mar 2008
    پست ها
    1,471

    پيش فرض چرا strID هم به صورت رشته و هم به صورت یک عدد صحیح قابل قبول است؟

    با عرض سلام
    من با استفاده یک وب سرویس، عمل درج در جدول Region از پایگاه داده Northwind را انجام می دهم.
    راجع به خود وب سرویس سوالی ندارم. ولی به مساله جالبی برخورد کرده ام.
    قبل از عمل درج، باید کلید اصلی جدول Region پیدا شود و با افزودن یک واحد به آن، RegionID رکورد بعد مشخص شود. همانطور که می دانید، RegionID یک عدد صحیح است.
    حالا به قطعه کد زیر که از این وب سرویس استخراج شده توجه کنید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    همانطور که ملاحظه می فرمایید، StrID یک رشته است و این رشته نیز قرار است مقدارش را به RegionID بدهد. حال اگر در خط کد زیر به جای StrID که یک رشته است، intmaxID را که یک عدد صحیح است، قرار دهیم اتفاقی که منجر به غیر منطقی شدن و یا بد کار کردن برنامه شود نمی افتد. چرا؟
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    مگر نه اینکه RegionID یک عدد صحیح است ، پس چرا در عمل درج فرقی نمی کند که این عدد صحیح به صورت رشته وارد شود و یا به صورت عدد صحیح؟


    امیدوارم سوال را قابل درک بیان کرده باشم.
    Last edited by قله بلند; 16-12-2008 at 12:52.

  2. #2
    آخر فروم باز قله بلند's Avatar
    تاريخ عضويت
    Mar 2008
    پست ها
    1,471

    پيش فرض

    سلام دوستان
    کسی جوابی برای این سوال می داند؟
    به نظر نکته جالبی است

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

    پيش فرض

    سلام
    کار صحیحی نیست و میتواند مشکل ساز شود ولی اگر کار میکند، احتمالاً به sqlserver مربوط میشود که سعی میکند دیتای دریافتی را به نوع مطلوب خود تبدیل کنید.
    یک نوع CONVERT یا CAST که به صورت خودکار از طرف sqlserver روی پارامترهای دریافتی انجام شده.

  4. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  5. #4
    آخر فروم باز قله بلند's Avatar
    تاريخ عضويت
    Mar 2008
    پست ها
    1,471

    پيش فرض

    سلام
    پس آیا رفتار درست این است که به جای StrID رشته ای،intmaxID صحیح رو قرار بدم؟
    من از SQL2000 استفاده می کنم و می خواهم این موضوع رو در SQL2005 نیز مورد آزمون قرار بدم. به نظر نتیجه باید جالب باشه.
    اگر درSQL2005 هم موضوع اینگونه بود، می شه نتیجه گرفت که مشکلی پیش نخواهد آمد؟

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

    پيش فرض

    سلام
    پس آیا رفتار درست این است که به جای StrID رشته ای،intmaxID صحیح رو قرار بدم؟
    بله، این کار منطقی و اطمینان بخش است.

    من از SQL2000 استفاده می کنم و می خواهم این موضوع رو در SQL2005 نیز مورد آزمون قرار بدم. به نظر نتیجه باید جالب باشه.
    اگر درSQL2005 هم موضوع اینگونه بود، می شه نتیجه گرفت که مشکلی پیش نخواهد آمد؟
    اگر کار هم کند، باز بهتر است از این دستورات دوری کنید.
    کد محکم و مستحکمی بنویسید که شکی برای شما ایجاد نکند، طوری که بتوانید قاطع به کد خود اطمینان داشته باشید.
    از کدنویسی زیاد نترسید.

    تازه من به شخصه، همان کد خوب شما را هم مستحکم نمیدانم و حداقل کد زیر را پیشنهاد میکنم که نوع دیتا هم صراحتاً مشخص شده باشد.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    Last edited by _H2_; 22-12-2008 at 02:07.

  7. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


Thread Information

Users Browsing this Thread

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

User Tag List

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

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