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

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

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

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


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

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

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

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

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

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

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

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


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

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

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

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




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


کد کانکشن استرینگ برای هاست رایگان ویندوز

با سلام،
در آموزش های قبل هاست رایگان ویندوز رو معرفی کردم و طریقه ساخت یک اکانت روی این هاست رایگان ویندوز رو هم آموزش دادم، ولی گویا برخی دوستان با کانکشن استرینگ (connection string) مشکل داشتند و نتونسته بودن کانکشن استرینگ درست رو پیدا کنن، به همین جهت در این آموزش می خوام کد کانکشن استرینگی که برای این هاست رایگان باید توی پروژتون ست کنین رو آموزش بدم.

دقت کنین که این هاست ویندوزیه و کاملا هم رایگانه و اطلاعات شما رو تا 2-3 ماه نگه می داره، این هاست مختص دانشجویان و برنامه نویسانیست که تازه برنامه نویسی وب سایت و نرم افزارهای تحت وب رو شروع کرده اند و با ASP.Net هم برنامه نویسی می کنند  و می خوان پروژه دانشجویی خودشونو روی یک هاست قرار بدن.(دقیق نمی دونم که این هاست از PHP و MySql پشتیبانی می کنه یا نه ، ولی مطمئنم که ASP.Net 4 و 4.5 و SQL 2008  و 2012 رو کاملا پشتیبانی می کنه)

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

بعد از اینکه دیتابیس میزون شد ، باید کانکشن استرینگ رو بصورتی که در زیر میگم توی پروژتون ست کنین و در پایان باید از طریق بخش File Manager فایلای پروژتونو توی پوشه روت هاست بریزین و تمام!
هاست رایگان شما آماده است و می تونین پروژتونو در فضای اینترنت مشاهده کنین از پروژتون لذت ببرین و آدرسشو هم به همه دوستاتون بدین تا زود برن ببینن که چه شاهکاری خلق کردین و خلاصه بدون هیچ هزینه ای می تونین کلی پز بدین


دقت کنین که در کد بالا باید به جای اسم mysampledb اسم دیتابیس خودتونو بذارین و به جای YourDbUsername هم نام کاربری دیتابیس خودتونو باید بذارین و به جای YourDbPassword هم پسورد دیتابیس خودتونو باید قرار بدین.

سایت نت نیک|کد کانکشن استرینگ برای هاست رایگان ویندوز
دقت کنین که اگر توی این هاست رایگان ، زمانی که شما دیتابیس جدید ایجاد می کنین ، خودش اتوماتیک یک نام کاربری و یک پسورد براش می سازه که بعدش باید از بخش "دیتابیس" و قسمت "users" (اینو دقیق یادم نیست ، اسم بخشش یا یوزر بود یا لاگین) باید برید و نام کاربری که برای دیتابیستون ساخته رو ببینین و بعد روی change password کلیک کنین و یه پسورد جدید روش ست کنین و بدین صورت شما هم یوزرنیم و هم پسورد دیتابیستونو خواهید داشت و راحت می تونین کانکشن استرینگ مورد نظرتونو درست کنین ....

امیدوارم که از این آموزش هم لذت برده باشید.
سوالات و مشکلات خودتونو توی بخش نظرات بگین.
یا حق

نوشته شده در تاریخ جمعه 29 شهریور 1392    | توسط: ح.م    | طبقه بندی: آموزش ASP.NET، هاست رایگان ویندوز، اطلاعیه های مدیریت سایت،     | نظرات()


کاربرد فوق العاده ارث بری در پروژه های asp.net (شعبده بازی با سی شارپ!)

باسلام، در مقالات قبلی درمورد شی گرایی و ارث بری در سی شارپ صحبت کردیم، امروز می خوام کاربرد جالب ارث بری در پروژه های asp.net رو براتون بگم.
مسلما هیچ برنامه نویسی نمیاد فوت کوزه گریشو برای عموم روی سایتش منتشر کنه ، ولی چه کنیم که اینجا سایت نت نیک است و من هم خراب بازدید کنندگان سایتمم

در هنگام برنامه نویسی اگر شما خوب زبان برنامه نویسی ای که دارین باهاش کد میزنین رو بشناسین ، مسلما خیلی ترفند ها می تونین بکار ببرین تا حجم کد نویسیتون کمتر بشه ، کدهاتون حرفه ای تر و منظم تر بشن و تو پروژه های بعدیتونم بتونین از این کد ها استفاده بکنین.

ابتدا بذارید با یک مثال اعجاب شی گرایی رو براتون روشن کنم:
فرض کنین که شما 20 تا صفحه توی کنترل پنل مدیریتی سایتتون دارین و می خواین توی همه این صفحات یک سری پیام مثل "خبر با موفقیت ثبت شد" ، "انتخاب تصویر الزامی است" ، "فرمت تصویر غیر مجاز است" ، "محصول با موفقیت ویرایش شد" و ... رو به مدیر سایت نمایش بدین.

سایت نت نیک|کاربر فوق العاده ارث بری در پروژه های asp.net (شعبده بازی با سی شارپ!)!

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


چطوری میشه از توی یک کلاس به کنترل های داخل یک صفحه دسترسی داشت ؟!

در برنامه نویسی وب ، همیشه نیازمند این هستیم که به کاربر یک پیام نمایش دهیم.

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

بنده به شخصه تمایل دارم پیام هایم را درون دو باکس قرمز کمرنگ و سبز کمرنگ با یک کادر قرمز و سبز و یک آیکون تیک سبز رنگ و یک آیکون ضربدر قرمز نمایش دهم تا کاربر سایت از دیدن زیبایی پیام ها کیف کنه :)

برای این کار یک راه حل این است که شما از یک کنترل پنل و یک کنترل لیبل بهره ببرید که کار بسیار جالبی است ، و محل قرار گیری نیز بهتر است داخل مستر پیج باشد تا نیاز به نوشتن این بخش در تک تک صفحات نباشد (بدیهی است که خصوصیت visible کنترل های پنل باید false باشد تا در حالت عادی درون صفحه نمایش داده نشوند)
چطوری میشه از توی یک کلاس به کنترل های داخل یک صفحه دسترسی داشت ؟!

حال تصور کنید می خواهید پیامی را به کاربر نمایش دهید ، در اینصورت می بایست کدهایی شبیه به کد زیر را بنویسید :


نوشتن 3 خط کد برای هر پیام کاری خسته کننده است و حجم کد نویسی شما را بالا می برد و در نتیجه خوانایی کدهای پروژه شما را کم می کند.

در asp.net و سی شارپ با توجه به وجود چیزی به نام شیء گرایی ، همیشه این امکان را دارید که کدهای خود را بصورت یک شیء (کلاس) در بیاورید و از شیء های خود در همه پروژه هایتان استفاده نمایید.
اگر شما برنامه نویس خوبی هستید و با شیء گرایی آشنا هستید ، برای اعمالی مثل صفحه بندی اطلاعات،ریسایز تصویر، نوشتن متن روی تصاویر(نوشتن عنوان یا آدرس سایت روی تصاویر بصورت خودکار)، بررسی پسوند و نوع فایلهایی که قرار است روی سایت آپلود شوند، ساخت تصویر امنیتی و ... نباید هر بار از 0 کد بزنید و یا یک تابع را در صفحات مختلفتان کپی نمایید!

شما با یک زبان شیء گرای بسیار عالی و منحصر به فرد کار می کنید (سی شارپ) و باید بتوانید از این برتری در مقابل برنامه نویسان سورس باز استفاده نمایید.

پس باید بتوانید بسته به نیازتان انواع مختلفی از کلاس های مختلف را برای خودتان بسازید تا در هر پروژه فقط نیاز به این داشته باشید که کلاس های از قبل آماده شده خود را در پروژه اضافه و از توابع و امکانات آن کلاس های به راحتی استفاده نمایید (به راحتی نوشتن یک using در ابتدای کد های صفحه تان)!

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


آموزش ساخت نظرسنجی در asp.net | بخش دوم

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

در این مقاله روش دوم یعنی ساخت نظرسنجی با 3 جدول رو آموزش میدم.

برای این کار سه جدول بصورت زیر می سازیم:

جدول Questions :
نوع ستون
اسم ستون
 INTId
(500)NVARCHARTitle

جدول Answers :
 نوع ستوناسم ستون
 INTId
(500)NVARCHAR
Title
 INTQuestions_Id

جدول Votes :
 نوع ستوناسم ستون
 INTId
(20)VARCHAR
Ip
 DateVoteDate
 INTAnswers_Id


مزیت این روش اینه که ما اطلاعات هر کسی که رای میده رو هم می تونیم داشته باشیم (توی جدول Votes می تونیم هر جور اطلاعاتی که می خوایم رو ذخیره کنیم) و همچنین می تونیم بفهمیم که در هر روز چند نفر در نظرسنجیمون شرکت کرده اند.

روش کار دقیقا مثل قبل است (نمایش سوال و نمایش گزینه های جواب) و تنها تفاوت در زمان ذخیره کردن رای است:

برای این کار یک پروسیجر باید بصورت زیر بنویسیم که آی پی رای دهنده و آی دی گزینه ای که بهش رای داده رو بهش میدیم :


سایت نت نیک

این پروسیجر اجازه نمیده که یک کاربر در 24 ساعت بیش از یک بار رای بده
حال شما می تونین بنا به خواست خودتون رای دادن رو محدود کنین و ...
به همین سادگی.
"سایت آموزشی نت نیک"

نوشته شده در تاریخ جمعه 14 تیر 1392    | توسط: ح.م    | طبقه بندی: آموزش ASP.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،     | نظرات()


آموزش کار با هاست رایگان ویندوز

در مقاله هاست رایگان با پشتیبانی از ASP.NET برای دانشجویان عزیز هاست رایگان سامی رو معرفی کردم.

این هاست برای دانشجویانی که با asp.net , sql طراحی وب انجام میدن و می خوان کار با پنل هاست رو امتحان کنن خیلی مناسبه.

مزیت دیگرش هم اینه که این هاست ویندوزی رایگان است و نیاز به پرداخت هزینه نیست.
البته فکر می کنم که تا 3-4 ماه فقط اطلاعات رو نگه می داره که اینو دقیق نمی دونم ، چون قدیما یکی از پروژه های دانشجویی

دوستان در مورد نحوه آپلود و کار با پنل این سایت سوالات زیادی پرسیده بودند که بر آن شدم که یک مقاله آموزشی خوب براتون آماده کنم.
سایت نت نیک
خبر جدید اینکه این هاست از mvc هم پشتیبانی می کنه.



نوشته شده در تاریخ چهارشنبه 12 تیر 1392    | توسط: ح.م    | طبقه بندی: هاست رایگان ویندوز، آموزش ASP.NET، اطلاعیه های مدیریت سایت،     | نظرات()


آموزش رفع ارور مهلک the ObjectContext instance has been disposed and can no longer be used for operations that require a connection در entity framework

آموزش رفع ارور مهلک the ObjectContext instance has been disposed and can no longer be used for operations that require a connection در entity framework


دوستانی که با تکنولوژی حرکن می کنن و الان دارن با Entity Framework کد میزنن ، خیلی از مواقع ممکنه که با همچین اروری برخورد کنن.

در توضیح باید خدمتتون عرض کنم که بنده 2 روزه دارم با این ارور سرو کله میزنم که طبق چیزی که بنده متوجه شدم ، این ارور موقعی رخ میده که شما یک کد linq روی entity framework تون نوشتین که در خروجیش لیستی از اشیاء رو دارین از دیتابیس دریافت می کنین.

حال اگر بخواهید روی خروجی یک تابعی مثل skip رو اجرا کنین ، از اونجایی که در entity framework تا وقتی که از متغیر خروجی دستورتون استفاده نکنین ، چیزی از دیتابیس دریافت نمیشه ، entity framework بیچاره نمی تونه روی یک متغیر null بیاد و تابعی مثل skip رو اجرا کنه و بنابراین ارور مهلک بالا رو بهتون نمایش میده.

به بیان ساده تر ، در  تا وقتی که خروجی دستور Linq تونو داخل یک کنترل داده ای نریزید و یا با forearch روی خروجی حرکت نکنین ، هیچ اتصالی به دیتابیس انجام نمی پذیره و مسلما از اونجایی که خروجی دستور linkq تون رو که داخل یک متغیر var ریختین ، متغیرتون کاملا خالیه (null).

حالا اینکه شما انتظار دارید که بیاد و روی هیچی (یک متغیر null) یک تابعی رو اجرا کنه ، یک خواست نادرستیه و entity framework درخواست نابجای شما رو با ارور مهلک the ObjectContext instance has been disposed and can no longer be used for operations that require a connection  پاسخ میده.

تا شما باشین درخواست نابجا نکنین :)
سایت نت نیک

رفع ارور مهلک the ObjectContext instance has been disposed and can no longer be used for operations that require a connection در entity framework:

رفع خطا بسیار ساده است ، در entity framework توابعی وجود دارد که موجب می شوند که بلافاصله پس از اجرای این توابع ، اتصال به دیتابیس صورت گیرد و اطلاعات مورد نظر از دیتابیس دریافت گردد.
دستور ()ToList یکی از این توابع است.

کافی است شما قبل از استفاد هاز توابعی مانند skip از این تابع استفاده نمایید تا بلافاصله اطلاعات از دیتابیس دریافت بشه و entity framework بتونه تابع مورد نظر شما رو روی خروجی دیتابیس اجرا کنه.

البته این چیزیه که من بهش رسیدم و ممکنه 100% کامل و درست نباشه ؛
ولی از اونجایی که در این سایت من دارم تجربیات و مطالبی که خودم در حین برنامه نویسی می فهمم رو آموزش میدم ، این امر کاملا طبیعی است که برخی مطالب کامل نباشند.
خوب مشکل من که با این روش حل شد :)
خوب به همین سادگی ، تا آموزشی دگر بدرود

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