تبلیغات
مقالات آموزشی برنامه نویسی و شبکه - مطالب آموزش ado.net

آموزش کامل انواع روش های واکشی اطلاعات در سی شارپ و asp.net - بخش سوم

در آموزش های قبلی برخی روش های دریافت اطلاعات از دیتابیس و نمایش اون در صفحات رو آموزش دادم.
امروز می خوام  روش های دیگر دریافت اطلاعات از دیتابیس (ado.net) رو آموزش بدم.

3- با استفاده از Entity Framework عزیز دلم

البته به زودی یک تالار مخصوص Entity Framework باز می کنم و بصورت کامل کامل این تکنولوژی عزیز و دوست داشتنیمو آموزش میدم.


در این روش ابتدا شما باید Add New Item بزنین و بعد یک فایل از نوع ADO.Net Entity Data Model به پروژتون اضافه می کنین و اون رو روی دیتابیستون تنظیم می کنین و Next میزنین تا آخر.
(اول کانشکن جهت اتصال به دیتابیس رو می گیره و بعد لیست تمامی جداول و پروسیجر های دیتبایستون رو میاره که همه رو تیک میزنین و تمام)

* دریافت یه عالمه دیتا (چندین سطر) از دیتابیس:

با فرض اینکه من مدلم رو با نام MyModel ساخته ام و entity خودمو هم با نام MyEntities ساخته ام، داریم:

ابتدا مدلم رو به صفحه ام اضافه می کنم:

سپس در رویداد لود داریم :

با توجه به حجم کم کدهای من ، فکر می کنم دلیل علاقه شدید بنده رو درک کرده باشید


* دریافت یک رکورد (یک سطر) از دیتابیس:

شایان ذکر است که کدهای Entity Framework رو به دو صورت میشه نوشت :

1- با دستورات LINQ
2- با دستورات Lambda


در بالا من به روش لامبدا نوشتم.
این روش هم کوتاه تره و هم باحال تره و هم اینکه وقتی شما با LINQ دستورات رو بنویسین ، در زمان اجرا این دستوران به زیان لامبدا تبدیل و سپس اجرا میشن ، پس اگر لامبدا کد بزنین هم جذاب تره و هم اینکه یک مرحله کار اجرا جلو می افته و مسلما سرعت اجرای دستوراتتون بالاتر میره.


* دریافت یه مقدار واحد از دیتابیس:

برای دریافت یک مقدار واحد 2 تا راه داریم که در بالا هر دو رو نوشته ام.

در روش اول من پروپرتی مورد نظر رو فقط از دیتابیس گرفته ام؛ این دستور موجب اجرای دستور SQL ای "SELECT Name FROM Members" رو دیتابیس میشه

در روش دوم من همه پروپرتی ها رو از دیتابیس گرفته ام و بعد فقط از Name اون استفاده کرده ام؛ این دستور موجب اجرای دستور SQL ای "SELECT * FROM Members" رو دیتابیس میشه

مسلما روش اول بهینه تره.

امیدوارم که از سری آموزش های روش های واکشی اطلاعات از دیتابیس من خوشتون اومده باشه
سری کامل مقالات آموزش ado.net رو می تونین از اینجا مشاهده نمایید.

نوشته شده در تاریخ شنبه 27 مهر 1392    | توسط: ح.م    | طبقه بندی: آموزش ado.net، آموزش Entity Framework، آموزش ASP.NET،     | نظرات()


آموزش کامل انواع روش های واکشی اطلاعات در سی شارپ و asp.net - بخش دوم

در آموزش های قبلی برخی روش های دریافت اطلاعات از دیتابیس و نمایش اون در صفحات رو آموزش دادم.
امروز می خوام  روش های دیگر دریافت اطلاعات از دیتابیس (ado.net) رو آموزش بدم.

ب) با استفاده از SqlDataAdapter :


می بینین که این روش چقدر باحاله و با کمترین کد یک گرید ویو رو پر کردیم

یادتون باشه که کتابخانه هایی که قبلا گفته بودم رو حتما به صفحتون اضافه کنین.

به این روش DataOffline هم گفته میشه که بدین دلیله که DataTable دقیقا می تونه اطلاعات کامل یک جدو.ل از دیتابیس رو درون خودش نگهداری کنه و این بدین معنیه که شما یک کپی از جدول دیتابیستون رو درون سی شارپ خواهید داشت

و دیگه نیاز نیست برای هر کاری به دیتابیس مراجعه کنید ، فقط کافیه که هر بار که در دیتابیس تغییری اعمال می کنین ، DataTable تونو یکبار رفرش کنین.

البته در سی شارپ یک کلاس با نام DataSet داریم که می تونه یک عالمه DataTable رو توی خودش نگداری کنه که بدین صورت شما می تونین یک کپی از کل اطلاعات دیتابیس داشته باشید

بدین صورت که کل اطلاعات هر یک جداولتون رو توی یک DataTable می ریزید (Fill می کنین) و بعد DataTable ها رو دونه دونه داخل یک DataSet می ریزید.

ج) با استفاده از Scalar :

این روش در جایی استفاده داره که می خواین یک مقدار واحد رو از دیتابیس دریافت کنین ؛ اسم یک نفر ، آی دی یک نفر و ...


در اینجا من اسم کسی که آی دی اش 2 است رو از دیتابیس گرفته ام و با توجه به اینکه ستون آی دی ما همیشه Identity است پس 100% مقدار این ستون منحصر به فرده ، پس خروجی دستور من یا null است و یا یک مقدار واحد رو برمی گردونه.

پس من با خیال راحت می تونم از ExecuteScalar استفاده کنم

به همین سادگی.

در آموزش بعدی بهترین و زیبا ترین روش دریافت اطلاعات از دیتبایس که همانا Entity Framework است رو آموزش خواهم داد.




نوشته شده در تاریخ شنبه 27 مهر 1392    | توسط: ح.م    | طبقه بندی: آموزش ASP.NET، آموزش ado.net،     | نظرات()


آموزش کامل انواع روش های واکشی اطلاعات در سی شارپ و asp.net - بخش اول

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

در مقالات قبلی کمی با ado.net آشنا شدیم ، امروز می خوام بصورت کامل و مفصل با انواع روش های دریافت اطلاعات از دیتابیس و نمایش اون درون سایت آشنا بشیم.


این روش ها عبارتند از:

  1. استفاده از کنترل SqlDataSource : این روش به دلیل اینکه خطاها رو اصلا نمیشه کنترل کرد ، فقط در پروژه های دانشجویی کاربرد داره.
  2. کد نویسی دستی (ADO.Net) : این روش خود به چند روش قابل انجامه:
    • SqlDataReader
    • SqlAdapter و DataTable
    • Scalar
  3. با کمک عزیز دل خودم یعنی Entity Framework
در ادامه مقاله شما را با تمامی این روش ها آشنا می کنم و کلی مثال براتون میزارم که کاملا با کدنویسی هر روش آشنا بشید.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

نوشته شده در تاریخ جمعه 14 تیر 1392    | توسط: ح.م    | طبقه بندی: آموزش ASP.NET، آموزش ado.net، آموزش Entity Framework،     | نظرات()


x-method چیست و چه مزایا و معایبی دارد ؟

سلام
برخی از دوستان سوال پرسیده بودن که x-method چیه ؟
یا پرسیده بودن که چرا در حین استفاده از x-method گاهی ارور های عجیب غریب می گیرن
؟

اول باید بگم که اصلا این x-method چی هست ؟

ببینین دوستان ، بصورت عادی شما رکوردارو تک تک از دیتابیس می گیرین (با ExecuteReader یا ....) ، ایده ایکس متد اینه که شما خروجی sql رو بصورت یک رشته xml ای و یکجا از دیتابیس بگیرین (با ExecuteScalar) این ایده جالبی بوده که استادم به ما معرفی کرد.

در این روش کل رکورد های شما به قالب xml در میاد و بعد بصورت یک رشته (انگار که دارین یه مقدار تکی رو از دیتابیس میگیرین) با دستور ExecuteScalar از sql دریافت میشه.

این روش سرعت انتقال اطلاعات از دیتابیس به صفحات وبتونو بسیار افزایش میده ولی یه سری مشکلات و نواقصی هم داره که در ادامه مطلب خواهم گفت.
x-method چیست و چه مزایا و معایبی دارد ؟ - netnic.ir

نوشته شده در تاریخ سه شنبه 21 آذر 1391    | توسط: ح.م    | طبقه بندی: آموزش ado.net، آموزش ASP.NET،     | نظرات()


مروری بر روش های واکشی اطلاعات از دیتابیس SQL با ADO.Net - بخش دوم

در آموزش قبلی ،  آموزش روش های واکشی اطلاعات از دیتابیس با ADO.Net  رو بیان کردم.

آموزش استفاده از روش های واکشی اطلاعات از دیتابیس با ADO.Net - netnic.ir
امروز می خوام نحوه استفاده از این روش ها رو بصورت عملی آموزش بدم.

همانطور که می دونین ، در روش ado.net برای گرفتن اطلاعات از دیتابیس مراحل زیر باید طی بشه :

  • ایجاد یک رشته اتصال : رشته اتصال اطلاعات لازم برای اتصال به دیتابیس رو توی خودش نکهداری می کنه
  • ایجاد یک شیء اتصال : شیء اتصال یک کلاس است که وظیفه برقراری ارتباط با دیتابیس رو به عهده داره
  • وصل شدن به دیتابیس
  • دریافت اطلاعات از دیتابیس با استفاده از یکی از روش هایی که در آموزش ado.net قبلی بیان کردم
  • قطع کردن ارتباط موجود با دیتابیس

شاید مراحل بالا یکم سخت به نظر برسه !

شاید هم یکم حرفام قلمبه و غیر قابل درک باشه !

ولی تا منو دارین نترسین 

همیشه گفتم و بازم میگم :

وقتی با تکنولوژی مایکروسافت دارین کار می کنین ، اصلا غم نخورین ، چون مایکروسافت همه کد های مورد نیاز رو قبلا براتون نوشته و فقط کافیه شما یک دستور 2 کلمه ای رو فراخونی کنین .... بقیه کارا خودش انجام میشه


خوب بریم سر درسمون ...

در ادامه مطلب برای هر روش یک نمونه کد گذاشتم و بصورت کامنت هم توضیحات لازم رو دادم....


نوشته شده در تاریخ شنبه 15 مهر 1391    | توسط: ح.م    | طبقه بندی: آموزش ASP.NET، آموزش ado.net،     | نظرات()


مروری بر روش های واکشی اطلاعات از دیتابیس SQL با ADO.Net - بخش اول

با سلام

دیدم دوستان مرتب درباره نحوه دریافت اطلاعات از دیتابیس بوسیله ado.net رو  می پرسن

اینجا آموزش کامل نحوه کار با ado.net رو میگم که مشکل همه برطرف بشه ...

بطور کلی در asp.net به سه صورت میشه با بانک اطلاعاتی sql ارتباط برقرار کرد و دیتا ازش گرفت و یا دیتا بهش داد.
آموزش روش های واکشی اطلاعات از دیتابیس با ADO.Net - netnic.ir
1- استفاده از کنترل های خود asp.net مثل SqlDataSource و ....
این روش برای تازه کاران بسیار مناسب است و برای سایت های کوچولو یا پروژه های دانشجویی خیلی خوب است.
ولی برای سایت های بزرگ بسیار کند می باشد و ارور ها رو هم نمیشه توش مدیریت کرد و تا یه مشکلی پیش بیاد ، کاربر با صفحه ارور asp.net مواجه میشه.
یک برناه نویس حرفه ای به خوبی می دونه که نمایش صفحه ارور asp.net در یک سایت بدین معنی است که اون سایت حرفه ای طراحی نشده و چه بسا بسیاری از اطلاعات مهم دیتابیس (مثل اسم جداول و ...) از طریق همین صفحه ارور به راحتی در دسترس هکران عزیز قرار می گیره.

نمونه پروژه انجام شده به این روش + توضیحات کامل رو می تونین از اینجا دانلود کنین :



2- استفاده از کد نویسی دستی بوسیله تکنولوژی ADO.Net

این روش بسیار جذاب می باشد.
می توان در مدل لایه ای از آن استفاده نمود.
می توان در مدل های لایه ای به راحتی کد ها را داینامیک نمود و بدین صورت حجم کد نویسی بسیار کم می شود.

این روش خودش به دو صورت قابل استفاده است  :

الف) نوشتن کوئری های sql بصورت معمولی توی خود صفحات
این روش نیمه حرفه ای است و دارای امنیت و کارایی پایینی است

ب) استفاده از Store Procedure
(کد های SQL رو بصورت یک سری تابع توی خود SQL ذخیره می کنین و از توی صفحات شsp.net  فقط اسمشونو فراخونی می کنین و خروجی رو می گیرین و استفاده می کنین)

این روش بسیار حرفه ای و پر سرعت می باشد و امنیت خیلی خوبی هم داره

3- استفاده از تکنولوژی جدید Linq
این روش به تازگی از طرف مایکروسافت معرفی شده است.

این روش خودش به دو صورت قابل استفاده است :

الف) با کمک وایزاردهای خود ویژوال استودیو
(در ویژوال استودیو 2010 به بعد وجود دارد)

ب) کد نویسی دستی
این روش حجم کد نویسی بیشتری نسبت به ADO.Net دارد و تا این لحظه چاره ای برای داینامیک کردن کد نویسی هاش پیدا نشده است.


در ado.net و در روش کد نویسی دستی برای گرفتن خروجی کوئری های SQL از دیتابیس چند روش داریم :
(استفاده از روش های زیر هم با نوشتن کوئری میسر است و هم با استفاد هاز Store Proscedure)


1- با دیتاریدر (ExecuteReader)
>> برای گرفتن یک سطر مناسبه (یک شیء)

2- با دیتا آداپتر (DataAdapter.Fill)
>> برای گرفتن یه عالمه سطر مناسبه (لیستی از اشیاء) و یا یک سطر مناسبه (یک شیء)

3- بصورت اسکالار (ExecuteScalar)
>> برای گرفتن یک مقدار واحد مناسبه


در ادامه مطلب ، مزایا و معایب هر کدام از روش های ado.net رو بررسی می نماییم.

نوشته شده در تاریخ شنبه 15 مهر 1391    | توسط: ح.م    | طبقه بندی: آموزش ASP.NET، آموزش ado.net،     | نظرات()