PDA

View Full Version : حرفه ای: خواندن چند رکورد از یک جدول و قرار دادن در یک آرایه دو بعدی



hahaie
شنبه 23 مرداد 1395, 14:42 عصر
سلام دوستان.
چطوری میشه چند رکورد از یک جدول رو از طریق لینکیو خواند و داخل یک آرایه دو بعدی ریخت؟
ممنون

mehrangharzi
یک شنبه 24 مرداد 1395, 17:08 عصر
var array =(from a in db.Table
where a.UserId== ID
select new{ a.Name, a.Description}).ToArray();

omid nasri
یک شنبه 24 مرداد 1395, 22:06 عصر
جواب شما در لینک زیر:

https://www.google.com/search?q=C%23+linq+to+Two-dimensional+array&ie=utf-8&oe=utf-8#q=C%23+list+to+Two-dimensional+array
ممنون قبل از پرسش جستجو می‌کنید.

hahaie
دوشنبه 25 مرداد 1395, 06:58 صبح
جواب شما در لینک زیر:

ممنون قبل از پرسش جستجو می‌کنید.

ممنون که قبل از پاسخگویی توجه میکنین!!! :چشمک:
سرچ شما اصلا ربطی به سوال بنده نداشت

hahaie
دوشنبه 25 مرداد 1395, 07:01 صبح
var array =(from a in db.Table
where a.UserId== ID
select new{ a.Name, a.Description}).ToArray();


ممنون.دسترسی به خانه های این آرایه چطوری میشه؟

omid nasri
دوشنبه 25 مرداد 1395, 19:02 عصر
ممنون که قبل از پاسخگویی توجه میکنین!!! :چشمک:
سرچ شما اصلا ربطی به سوال بنده نداشت

لینک رو مجدد مشاهده کنید.

Mahmoud.Afrad
دوشنبه 25 مرداد 1395, 20:55 عصر
سلام دوستان.
چطوری میشه چند رکورد از یک جدول رو از طریق لینکیو خواند و داخل یک آرایه دو بعدی ریخت؟
ممنون

هدفتون از انجام این کار چیه؟

hahaie
سه شنبه 26 مرداد 1395, 06:53 صبح
هدفتون از انجام این کار چیه؟

در مورد permission کاربرا هستش.میخوام بعد از شناسایی گروه کاربری یک کاربر دسترسی های گروه کاربری فقط یک بار موقع لاگین کردن کاربر از جدول مربوطه خونده بشه و داخل یک آرایه ریخته بشه و فقط هر بار نیاز بود به همون آرایه مراجعه کنم و نیاز نباشه هر دفعه به اون جدول مراجعه کنم.
توی اون جدول هم چند تا فیلد داره یکی نام فرم،دیگری نمایش فرم،درج رکورد،ویرایش و حذف.

نمیشه نتایج یک کوئوری لینکیو رو توی پروجه سراسری کرد که همه جای پروژه بشه روش سرچ انجام داد؟

Mahmoud.Afrad
سه شنبه 26 مرداد 1395, 10:42 صبح
نیازی به آرایه نیست. اگر رابطه بین جداول ایجاد کرده باشید و در مدل linqtosql هم رابطه وجود داشته باشه میتونید در هنگام لاگین مشخصات کاربر رو در شئ ای استاتیک ذخیره کنید. اگر مشکلی داشتید کد لاگین و اسکریپت جداول کاربر و گروه کاربری و سطح دسترسی رو بزارید.


لینک زیر میتونه کمک کنه
http://barnamenevis.org/showthread.php?346737-%D9%88%D8%A7%D8%B1%D8%AF-%DA%A9%D8%B1%D8%AF%D9%86-%D9%86%D8%A7%D9%85-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1-%D9%87%D9%86%DA%AF%D8%A7%D9%85-%D9%88%D8%B1%D9%88%D8%AF-%D8%A8%D9%87-%D8%B3%DB%8C%D8%B3%D8%AA%D9%85&p=2252383&viewfull=1#post2252383

hahaie
سه شنبه 26 مرداد 1395, 18:40 عصر
نیازی به آرایه نیست. اگر رابطه بین جداول ایجاد کرده باشید و در مدل linqtosql هم رابطه وجود داشته باشه میتونید در هنگام لاگین مشخصات کاربر رو در شئ ای استاتیک ذخیره کنید. اگر مشکلی داشتید کد لاگین و اسکریپت جداول کاربر و گروه کاربری و سطح دسترسی رو بزارید.


لینک زیر میتونه کمک کنه
http://barnamenevis.org/showthread.php?346737-%D9%88%D8%A7%D8%B1%D8%AF-%DA%A9%D8%B1%D8%AF%D9%86-%D9%86%D8%A7%D9%85-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1-%D9%87%D9%86%DA%AF%D8%A7%D9%85-%D9%88%D8%B1%D9%88%D8%AF-%D8%A8%D9%87-%D8%B3%DB%8C%D8%B3%D8%AA%D9%85&p=2252383&viewfull=1#post2252383

ممنون بله روابط بین جداول که تعریف شده ولی این ها فقط یه متغیر رو گفته(مثل نام کاربر و...) که روش های زیادی هم براش هست.در صورتیکه منظور من public کردن خروجی یک کوئری هستش که معمولا بیش از یک رکورد داره.برا همین مثلا موقع لاگین فقط دسترسی یک فرم یا یک دکمه نیست که بخوام public ش کنم باید دسترسی تمام فرم ها و مثلا دکمه ها رو بخونم.
راه های دیگه هم هست مثلا هر بار که کاربر میخواد فرمی رو باز کنه یا درج ویرایش حذف و... رو انجام بده با یه سرچ روی جدول دسترسی ها اونو بررسی کنه ولی هر بار برای هر فرم یا دکمه بخواد یه سرچ زده بشه زیاد مناسب نیست.
نمیدونم متوجه منظورم شدین یا نه.

Mahmoud.Afrad
سه شنبه 26 مرداد 1395, 20:30 عصر
برای لود داده از جدول های فرزند میتونید از طریق DataLoadOptions اقدام کنید تا هم مشخصات کاربر و هم سطوح دسترسی رو لود کنید.
https://msdn.microsoft.com/en-us/library/bb548760.aspx


باز هم اگر مشکلی داشتید حتما ساختار جداولی رو که نیاز دارید اطلاعاتشان رو لود کنید بزارید تا با کد توضیح بدم.

hahaie
چهارشنبه 27 مرداد 1395, 11:33 صبح
برای لود داده از جدول های فرزند میتونید از طریق DataLoadOptions اقدام کنید تا هم مشخصات کاربر و هم سطوح دسترسی رو لود کنید.
https://msdn.microsoft.com/en-us/library/bb548760.aspx


باز هم اگر مشکلی داشتید حتما ساختار جداولی رو که نیاز دارید اطلاعاتشان رو لود کنید بزارید تا با کد توضیح بدم.

ممنون مدیر جان ولی اصلا متوجه نشدم! :گیج:
از list<t> استفاده کردم و رکوردهای کوئری رو داخلش گذاشتم list رو هم public تعریف کردم ولی یه مشکلی هست:
سرچ توی لیست رو نمیدونم چطوری میشه البته این نوع از لیست ها.
مثلا مینویسیم:


mylist.Where(p=>p.emp_id=10);

البته کد ممکنه کامل نباشه یا دقیق درست نباشه ولی شکل کلیش اینطوری منظورمه.
خب؟
حالا خروجی دستور فوق رو داخل یه لیست جدید از جدول مربوط به mylist که میذارم خطا میده!

hahaie
چهارشنبه 27 مرداد 1395, 13:56 عصر
اینطور بگم شاید بهتر باشه:
اگه یه لیست داشته باشم شامل اطلاعات فردی(نام،رتبه و محل خدمت)کارمندانی که رتبه بالای 10 دارند و بخوام مثلا از داخل این لیست نام فردی که رتبش 17 رو در بیارم چطوری میشه؟با فرض اینکه فقط هر رتبه فقط مخصوص یک نفر هست.

Mahmoud.Afrad
چهارشنبه 27 مرداد 1395, 22:20 عصر
اینطور بگم شاید بهتر باشه:
اگه یه لیست داشته باشم شامل اطلاعات فردی(نام،رتبه و محل خدمت)کارمندانی که رتبه بالای 10 دارند و بخوام مثلا از داخل این لیست نام فردی که رتبش 17 رو در بیارم چطوری میشه؟با فرض اینکه فقط هر رتبه فقط مخصوص یک نفر هست.

برحسب نیاز از یکی از متدهای single ، firstordefault ، first و یا singleordefault استفاده کنید.
http://www.technicaloverload.com/linq-single-vs-singleordefault-vs-first-vs-firstordefault