اموزش سی شارپ فصل پنجم

پایگاه داده درسی شارپ

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

همانطور که می دانید ما بانکهای اطلاعاتی مهمی که موجود است عبارت است از access و sqlserver،  خوب برای اینکه سی شارپ به این منابع داده که داده ها رو برای ما ذخیره می کنند متصل بشود  باید از تکنولوژی به نام ADO.NET  استفاده کند.

خلاصه:

تعریف : به مجموعه کامپوننت هایی که برای دسترسی به داده های بانک اطلاعاتی در .NET استفاده می شود Ado.Net گفته می شود .

بانکهای اطلاعاتی مهم:sql و access

ADO.net مخفف  ActiveX Data Object است

ADO.net از چند کلاس مهم در این زمینه استفاده می کنه که عبارتند از

۱- کلاس SqlConnection :

این کلاس وظیفه برقراری ارتباط بین برنامه و بانک اطلاعاتی را بر عهده دارد .
- هنگامی که می خواهید یک نمونه از ان کلاس را ایجاد کنید باید پارامتری را به نام Connection String به آن ارسال کنید .
Connection String رشته ای است که شامل تمام داده های مورد نیاز برای برقراری اتصال به یک بانک اطلاعاتی می شود .
ویژوال استودیو با استفاده از ویزارد AddConnection و اطلاعاتی که کاربر وارد می کند چنین رشته ای را ایجاد کرده و در اختیار SqlConnection قرار می دهد .
اغلب بهتر است که متن لازم برای ConnectionString را خودمان بنویسیم که به صورت زیر است :

“Data Source = local;Initial Catalog = university;Integrated Security = True”

در کد بالا: local نام سروری است که بانک بر روی آن قرار دارد که در اینجا چون سرور خود کامپیوتر ماست مقدار آن را local قرار داده ایم که می توانیم به جای آن از “.” (نقطه) هم استفاده کنیم .
University نام بانکی است که قرار است ما با اطلاعات آن کار کنیم .
-متن ConnectionString به صورت پارامتر به شیئ جدید SqlConnection فرستاده می شود به صورت زیر:

SqlConnection Con = New SqlConnection( “Data Source = local;Initial Catalog = university;Integrated Security = True”);

در کد بالا : Con یک نمونه جدید از نوع SqlConnection است که برای استفاده از آن آن را ساخته ایم .

متصل و قطع کردن اتصال به یک بانک اطلاعاتی :
با استفاده از متدهای Open و Close در کلاس SqlConnection به بانک متصل شده و یا اتصال خود را قطع کنیم .

Con.Open(); و Con.Close();

 ۲- کلاس SqlCommand : 

این کلاس حاوی یک دستور Sql برای اجرا بر روی داده های دریافت شده از بانک اطلاعاتی است این دستور می تواند یک دستور SELECT برای انتخاب داده هایی خاص ، یک دستور INSERT برای درج داده های جدید در بانک اطلاعاتی ، یک دستور DELETE برای حذف داده ها از بانک اطلاعات و یا حتی فراخوانی یک پروسیجر ذخیره شده در بانک اطلاعاتی می باشد .
ایجاد آن به صورت زیر می باشد :

SqlCommand Cmd = New SqlCommand();

 

نکته – د
همچنین اشیای SqlCommand می توانند به همراه اشیای ایجاد شده از کلاس DataReader مورد استفاده قرار گیرند .
خاصیت connection کلا
Command استفاده کنیم باید بعضی از خاصیت های آن را تنظیم کنیم اولین خاصیتی که باید تنظیم شود خاصیت Conection است .
این خاصیت می تواند یک مقدار از نوع SqlConnection را دریافت کند :
ر برنامه های بانک اطلاعاتی معمولا از اشیای ایجاد شده از کلاس SqlCommand به تنهایی استفاده نمی کنند بلکه آنها را همراه با DataSet ها و DataAdapter ها به کار می برند .قبل از اینکه بتوانیم از یک شئ از کلاس Sqlس SqlCommand :

Cmd .Connection = Con ;

توضیح کد بالا :
Cmd همان شیئی است که از کلاس SqlCommandقبلا ساخته ایم .
Con شیئی است که از نوع SqlConnection قبلا ساخته ایم .
خاصیت CommandText کلاس SqlCommand :
خاصیتبعدی که باید از کلاس SqlCommand تنظیم شود خاصیت CommandText است .
این خاصیت متنی را دریافت می کند که می تواند حاوی یک دستور Sql و یا فراخوانی یک پروسیجر ذخیره شده در بانک اطلاعاتی باشد که باید روی داده ها اجرا شود .
متد ExecuteNonQuery :
این متد دستورات را بر روی بانک اطلاعات اجرا می کند .
برای استفاده از این متد باید ابتدا اتصال خود را به بانک اطلاعاتی برقرار کنید سپس با فراخوانی این متد دستور موجود در شئ Command را اجرا کنید .
کلاس SqlDataReader :
از طریق این کلاس می توانیم اطلاعات را از بانک دریافت کنیم . که به صورت زیر تعریف می شود :

SqlDataReader dr;

متد ExecuteReader :
برای دریافت اطلاعات از بانک از متد ExecuteReader شی تقاضا استفاده می کنیم ، یک شی از نوع SqlDataReader تعریف کرده و مقدار ExecuteReader را برابر آن قرار می دهیم

SqlDataReader dr = Cmd.ExecuteReader();

سپس از طریق متد Read شی DataReader اطلاعات را در یک حلقه واکشی می کنیم .

ارائه مراحل کلی یک ارتباط 

برای تقاضا از یک جدول در بانک اطلاعاتی باید مراحل زیر طی شود :

۱- اضافه نمودن فضا نام های مورد نیاز : برای ارتباط با بانک های اطلاعاتی به فضا نام System.Data و همچنین فضا نام System.Data.SqlClient برای کار با دیتابس SQLServer و فضا نام System.Data.Oledb برای کار با بانک Access نیازمندیم .

۲- تعیین رشته اتصال (ConnectionString) : رشته اتصال رشته شامل تنظیماتی جهت اتصال به بانک اطلاعاتی می باشد ، این رشته برای هر بانک متفاوت خواهد بود

۳-تعیین شی اتصال (Connection Object) : کلاسی است برای برقراری ارتباط با بانک اطلاعاتی است ، این شی که از کلاس DbConnection ارث بری می کند اعمالی مانند باز و بسته کردن اتصال با بانک را از طریق رشته اتصال انجام می دهد.

۴- تعیین رشته تقاضا (Command Text) : همان دستورات SQL است که جهت یک تفاضا ارائه می گردد ، این تفضا جهت دریافت اطلاعات (Select) درج اطلاعات (Insert) ، ویرایش اطلاعات(Update) و یا حذف اطلاعات(Delete) یا… صورت می گیرد .

۵- تعیین شی تقاضا (Command Object) : کلاسی است جهت ارسال و دریافت تقاضا از طریق شی اتصال به بانک اطلاعاتی
۶- باز کردن اتصال
۷- اجرای درخواست
۸- دریافت اطلاعات (در صورتی که تقاضا Select باشد)
۹- بستن اتصال
شد.
- «درج ، حذف و بروز رسانی » برای درج ، حذف و بروز رسانی به صورت متصل و مستقیم از متد ExecuteNoneQuery مربوط به شی Command استفاده می شود . این شی درخواست مربوط به insert,delete,update یا هر درخواست دیگری را بدون هیچ درخواستی انجام میدهد و خروجی آن تعداد سطر های تحت تاثیر درخواست می با

string connectionString = Data Source=(local);Initial Catalog=univercity;Integrated Security=true;;
SqlConnection Con = new SqlConnection(connectionString);
string commandText = “insert into student(name,family) values(‘ali’,'arefi’)”;
SqlCommand Cmd = new SqlCommand(CommandText, Con);
Con.Open();
Cmd.ExecuteNonQuery();
Con.Close();

معرفی خاصیت ها و دو کد نمونه Placeholder ها :متغیرهایی هستند که در یک دستور Sql قرار می گیرندو می توانند در زمان اجرای برنامه جای خود را با عبارتی خاص عوض کنند این متغیرها با علامت @ در یک دستور مشخص می شوند . و هنگامی که از آنها در یک دستور Sql استفاده کنیم قبل از اجرای دستور باید تمامی آنها را با مقادیر مناسب تعویض کنیم . که این کار به صورت اتوماتیک توسط برنامه در زمان اجرای دستور انجام می شود.اما باید پارامترهایی را ایجاد کرده و آن را در لیست parameters در شئ ایجاد شده از کلاس SqlCommand قرار دهیم تا برنامه بداند هنگام اجرای دستور هر placeholder را باید با مقدار چه متغیری در برنامه عوض کند . نکته – هیچ ضرورتی ندارد که نام یک placeholder همنام فیلدی باشد که قرار است مقدار placeholder در آن قرار بگیرد .خاصیت parameters کلاس SqlCommand :برای دسترسی به لیست پارامترهایی که در یک شئ از کلاس SqlCommand وجود دارد می توانیم از خاصیت parameters در این کلاس استفاده کنیم . این خاصیت حاوی لیستی از placeholder ها به همراه متغیرهای وابسته به آنها است بنابراین در کد قبل از اجرای دستور ، باید به وسیله ی این لیست مشخص کنیم که هر placeholder با مقدار چه متغیری باید تعویض شود


مطالب مشابه :


اموزش سی شارپ فصل پنجم

پایگاه داده درسی شارپ. پس در چند جلسه آینده نحوه ی استفاده از پایگاه در سی شارپ رو برای شما




ارتباط با پایگاه داده اوراکل 10g

سی شارپ نویسی با پایگاه داده اوراکل از یه win User Id نیز استفاده کرد.در آخر بد




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

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




آموزش برنامه نویسی سی شارپ (#C) از مقدماتی تا پیشرفته به زبان فارسی(2)

آموزش زبان برنامه نویسی سی شارپ #c از با پایگاه داده را استفاده شود) در سی شارپ




مقدمه اي بر سي شارپ : قسمت سوم

SQLServer ذخیره داد ه ها بصورت ماندگاردر پایگاه داده. در هنگام استفاده از if اگر در سی شارپ #




برچسب :