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

نام تاپیک: استفاده از نوع داده long در شمارش دیتاتیبل

  1. #1
    کاربر دائمی آواتار ji ming u
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    پس کوچه های شهر
    پست
    316

    استفاده از نوع داده long در شمارش دیتاتیبل

    یک دیتا تیبل دارم سطرهای زیادی داره
    که از یک شروع میشه تا چندین میلیارد
    بعضی وقتا لازم این جدول اپدیت شه
    هنگام اپدیت وقتی کد زیر را مینویسم
    long total=dt_table.row[i]["mony"];
    وقتی میخام به سطر iام دسترسی پیدا کنم چون i از نوع long م یباشد خطلا میگیره و میگه باید از نوع اینت باشه
    این ئمشکلو چجوری برطرف کنم

  2. #2

    نقل قول: استفاده از نوع داده long در شمارش دیتاتیبل

    سلام ، خسته نباشی
    از کد زیر استفاده کن :
    long.TryParse(
    dt_table.row[i]["mony"].ToString, out long total
    );

    متد TryPars یک نوع String میگیره و اگه بتونه اونو تبدیل میکنه به نوعی که میخوای .
    بعد از اجرای این خط کد تو یک متغیر از نوع Long داری به اسم total و با مقدار درون

    dt_table.row[i]["mony"];

    بدرود
    آخرین ویرایش به وسیله Mahmoud.Afrad : جمعه 29 تیر 1397 در 04:50 صبح

  3. #3
    کاربر دائمی آواتار ji ming u
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    پس کوچه های شهر
    پست
    316

    نقل قول: استفاده از نوع داده long در شمارش دیتاتیبل

    منظورم من اینکه در کدی ک نوشتی اگه i از نوع long باشه باید چیکا کنیم
    با محتوای جدول داری ندارم با اون شمارشگر مشکل دارم
    آخرین ویرایش به وسیله Mahmoud.Afrad : جمعه 29 تیر 1397 در 04:51 صبح

  4. #4

    نقل قول: استفاده از نوع داده long در شمارش دیتاتیبل

    نقل قول نوشته شده توسط ji ming u مشاهده تاپیک
    منظورم من اینکه در کدی ک نوشتی اگه i از نوع long باشه باید چیکا کنیم
    با محتوای جدول داری ندارم با اون شمارشگر مشکل دارم
    خب شما i رو از کجا آوردی؟
    من فکر میکنم یک حلقه for نوشتی درسته؟ چون گفتی شمارش گر
    خب توی حلقه ی for به جای تعریف یک int ی دونه long تعریف کن مثال:
    for(long l = 0;l==5;l++) {}

  5. #5
    کاربر دائمی آواتار ji ming u
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    پس کوچه های شهر
    پست
    316

    نقل قول: استفاده از نوع داده long در شمارش دیتاتیبل

    نقل قول نوشته شده توسط sajedmalayeri مشاهده تاپیک
    خب شما i رو از کجا آوردی؟
    من فکر میکنم یک حلقه for نوشتی درسته؟ چون گفتی شمارش گر
    خب توی حلقه ی for به جای تعریف یک int ی دونه long تعریف کن مثال:
    for(long l = 0;l==5;l++) {}
    dt_table.row[i]
    در این کد row فقط مقدار int را قبول میکنه

  6. #6

    نقل قول: استفاده از نوع داده long در شمارش دیتاتیبل

    میشه دلیل اینکه چند میلیارد رکورد رو یکجا لود میکنی و روش کار میکنی بگی؟ یعنی واقعا این کار لازمه؟؟؟

  7. #7

    نقل قول: استفاده از نوع داده long در شمارش دیتاتیبل

    اگر هم از for استفاده نکردی میتونی این کارو کنی:
    int.TryParse(i.ToString,out int newI);

    و بعدش به جای i از newI استفاده کنی

  8. #8

    نقل قول: استفاده از نوع داده long در شمارش دیتاتیبل

    نقل قول نوشته شده توسط ji ming u مشاهده تاپیک
    dt_table.row[i]
    در این کد row فقط مقدار int را قبول میکنه
    خب به جای long از int استفاده کن

  9. #9
    کاربر دائمی آواتار ji ming u
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    پس کوچه های شهر
    پست
    316

    نقل قول: استفاده از نوع داده long در شمارش دیتاتیبل

    نقل قول نوشته شده توسط sajedmalayeri مشاهده تاپیک
    خب به جای long از int استفاده کن
    بیخیال داداش

  10. #10

    نقل قول: استفاده از نوع داده long در شمارش دیتاتیبل

    هرچند کار شما اصولی نیست و مطمئنا سرعت پیمایشتون بشدت کند خواهد بود، ولی میتونین از Foreach استفاده کنین

  11. #11
    کاربر دائمی آواتار sds1920
    تاریخ عضویت
    تیر 1388
    محل زندگی
    اصفهان
    سن
    34
    پست
    483

    نقل قول: استفاده از نوع داده long در شمارش دیتاتیبل

    دلیل مشکل شما این هست که در کلاس DataRowCollection برای دسترسی به سطرها از نوع int به عنوان ایندکس استفاده شده.شاید طراح این کلاس نظرش این بوده که int کفایت میکنه ولی شما یک مثال نقص شدی. در کل راه حل مستقیم برای مشکل شما وجود نداره. شاید به قول دوستمون foreach بتونه مشکل شما رو حل کنه ولی در این حالت دسترسی مستقیم به هر ردیف وجود نداره.به نظر من شما نیاز داری یک کلاس(به عنوان مثال BigTable) بنویسی که به جای یک تیبل از چند تیبل برای ذخیره اطلاعات استفاده کنه و در هر تیبل به اندازه int.MaxValue سطر نگهداری بشه. بعد هر ایندکسی که بهش داده میشه رو محاسبه کنه ردیف چندم از کدوم تیبل هست. نهایتا باید کلاسی باشه که بتونه این مورد رو مدیریت کنه و در عین حال به عنوان یک تیبل بزرگ هم دیده بشه.
    باز هم در تایید حرف دوستان من هم میگم که نگهداری این حجم از دیتا در برنامه کار منطقی به نظر نمیاد. شاید دلیل محکمی برای اینکار دارید در غیر اینصورت بهتره در طراحی این قسمت برنامه یک بازنگری بکنید.
    موفق باشید.
    آخرین ویرایش به وسیله sds1920 : یک شنبه 31 تیر 1397 در 08:44 صبح

تاپیک های مشابه

  1. چگونگی استفاده از نوع داده ای file stream در شبکه
    نوشته شده توسط zohre66 در بخش C#‎‎
    پاسخ: 2
    آخرین پست: سه شنبه 13 مهر 1395, 22:33 عصر
  2. hierarchyidخطا در استفاده از نوع داده hierarchyid در sql2008
    نوشته شده توسط mosadatta در بخش T-SQL
    پاسخ: 0
    آخرین پست: دوشنبه 08 خرداد 1391, 13:37 عصر
  3. مشکل در استفاده از نوع داده money و date
    نوشته شده توسط amin_rezaee در بخش T-SQL
    پاسخ: 1
    آخرین پست: چهارشنبه 26 مرداد 1390, 16:08 عصر
  4. مشكل در استفاده از نوع داده biginteger دات نت 4
    نوشته شده توسط bluesky63 در بخش C#‎‎
    پاسخ: 2
    آخرین پست: شنبه 29 خرداد 1389, 09:39 صبح
  5. پاسخ: 2
    آخرین پست: شنبه 13 تیر 1388, 18:14 عصر

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

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