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

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




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

نام تاپيک: Error in DataColumn DataType

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

    پيش فرض Error in DataColumn DataType

    با سلام

    در داخل يك كلاس يه تابعي دارم واسه اضافه كردن ستون داده به يك جدول داده. متاسفانه هر جايي كه نوع داده DateTime هست ارور مي ده. واسه ساير انواع داده ها مثل Guid , String و ... مشكلي نداره ولي هر جايي نوع داده ستون تاريخ باشه. اروره مي ده :
    پيام ارور : 'dataType' argument cannot be null. Parameter name: dataType


    كد :
    GetNewTestDS =
    New DataSet
    Dim objdatatable As DataTable = GetNewTestDS.Tables.Add("Test")
    Dim objdatacolumn As DataColumn

    objdatacolumn =
    New DataColumn("TUpDate", Type.GetType("System.DateTime"))
    objdatacolumn.AllowDBNull =
    False

    objdatatable.Columns.Add(objdatacolumn)
    ممنون ميشم از راه حل شما

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

    پيش فرض

    سلام

    متن خطای شما حاکی از ان است که تابع GetType شما مقدار صحیحی بر نمیگرداند.
    قاعدتاً باید درست کار کند ولی در کل این یک تابع runtime است که در در زمان اجرا پردازش کرده و مقدار مناسب را پیدا کرده و باز میگرداند.

    معمولاً تا وقتی میتوان مقدار ثابت و غیر runtime ای داشت از یک دستور یا تابع runtime استفاده نمیکنیم

    توابع تا وقتی برنامه اجرا نشود مشکلشان معلوم نمیشود و در زمان کامپایل هم اگر ایرادی در تایپ مثلاً string ورودیتان باشد هیچ خطایی دریافت نمیکنید، ضمن اینکه سرعت و بازدهی ثابتهای کامپایلی را هم ندارند.

    در VB.Net کلمه کلیدی به نام GetType وجود دارد، شاید به ظاهر نامش شبیه GetType مورد استفاده شما باشد ولی در بنیان روش کار تفاوت زیادی دارد.
    این کلمه کلیدی معادل typeof در #C است هم یک ثابت کامپایلی باز میگرداند و هم اگر اشتباه تایپی باشد در زمان کامپایل متوجه میشوید و سرعت و بازدهی تان هم حدکاثر ممکن (برای اخذ یک System.Type) است.

    ضمن اینکه در برخی از مکان ها شما باید ثابت کامپایلی داشته باشید و هر چیزی غیر از این کلمه کلیدی کار نخواهد کرد.


    مثلاً
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    موفق باشید.
    Last edited by _H2_; 10-11-2010 at 02:04.

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

    پيش فرض

    ممنون دوست عزيز

    با همون Type.GetType("System.DateTime حل شد

    مشكل اينجا بود كه بين دو عبارت System.String - هر دو با حروف بزرگ
    و
    عبارت system.String تفاوت هست. در مورد DateTime هم همينطور. مثلا اگر بنويسم Datetime ارور مي ده. اما اگه بذارم DateTime درست كار مي كنه

    ممنون از اطلاعات مفيد شما

Thread Information

Users Browsing this Thread

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

User Tag List

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

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