0 امتیاز
اگر نتیجه کوئری من 190 رکورد شامل عدد باشه میخوام هر 38 تا رکورد یه میانگین بگیره و یه جا ثبت کنه بعد بره سراغ 38 رکورد بعدی تا الی آخر.

نکته:

رکوردهای من مضربی از عدد 38 هستند.

جدول من دارای فیلد row یا id یا autonumber نیست. (امکان افزوده شدن هم نیست)

دیتابیس من اکسسه.

از ado.net استفاده میشه
اگر نخوایم مجدد به دیتابیس کوئری بزنیم از ستون های دیتاگرید هم میشه اینکار رو کرد؟
توسط (164 امتیاز) 4 20

1 پاسخ

+1 امتیاز
سلام ، به نظر بنده چون تعداد 190 رکورد زیاد نیست می تونید همشون رو به حافظه اصلی بیارید و پردازش خودتون رو روی اونها انجام بدین

یعنی با استفاده از کلاس SQLDataAdapter همه ی داده های اون ستون رو از دیتابیس بیرون بکشید و درون یک Datatable قرار بدینی سپس با استفاده از یک حلقه for میانگین خودتون رو بگیرید .

البته می تونید از روش دیگه هم استفاده کنید و اون استفاده از کلاس SqlDataREader  که هر بار یک سطر رو از پایگاه داده می خونه . می تونید از این کلاس هم استفاده کنید .
بله میشه از ستون های دیتاگرید هم استفاده کرد . دیتاگرید هم از Datatable استفاده می کنه که همون روشی هست که خدمتتون عرض کردم .

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

SQLDataREader هم سرعتش خوبه و نیازی نیست مرتب روی دیتابیس کوئری بزنید .
توسط (6,145 امتیاز) 5 11 116
آیا میتونید با ذکر یه مثال توضیح بدین؟
توسط (164 امتیاز) 4 20
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,924 کاربر

دسته بندی ها

...