تبلیغات
پایگاه کد ها وسورس های مختلف زبان های برنامه نویسی - کار با دیتا بیس ۲
کار با دیتا بیس ۲ | برنامه نویسی کاربردی ,

سلام !

امروز براتون قسمت دوم آموزش کار با دیتا بیس در دات نت رو آوردم ! البته برای اینکه به حق کاربران سی شارپ هم احترام بگذاریم ! این آموزش رو با سی شارپ أآموزش می دهم !

نکته : هیچ فرقی بین وی بی دات نت و سی شارپ برای کار با دیتا بیس و دیگر کار ها نیست ! همانطور که می دانید چه دیتا بیس در دات نت چه هر فضای اسمی و کلاس دیگری در تمام زبان های برنامه نویسی تحت دات نت یک الگوی کار دارند و تنها فرق بین این زبان ها سینتکس آن ها و نوع دستورات شون هست وگرنه همه زبان های تحت دات نت از یک کتابخانه استفاده می کنند به نام اف سی ال ! پس شما می توان با کمی تغییر این آموزش ها را به هر زبانی دیگری تحت دات نت تغییر دهید


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

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

در ای دی او دات نت اکثر دستور هایی که مقدار باز گشتی دارد با استفاده از شی OleDbAdapter بر روی دیتا بیس اجرا میشوند و با استفاده از متد Fill مقدار ها مورد نظر در یک دیتا ست واکشی می شوند . همچنین دستوراتی که مقدار بازگشتی ندارند با استفاده از شی OleDbCommand بر روی دیتا بیس با متد ExecuteNonQuery اجرا می شوند .

نکته : دستوراتی که مقدار بازگشتی دارند نیز میتوان با استفاده از OleDbCommand واکشی نمود اما نه به شکل دیتا اداپتر بلکه با متد ExecuteReader و همچنین با مقدار بازگشتی جدیدی با نام DataReader که در جلسه بعد بیشتر در باره این شی حرف می زنیم

برای مثال کاربرد شی اداپتر و نوع کار با آن به شکل زیر می باشد :

OleDbConnection con1=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; DataSource=e:\db\users.mdb");
DataSet ds=new DataSet();
con1.Open();
OleDbAdapter ad=new OleDbAdapter("SELECT * FROM usrdt",con1);
ad.Fill(ds,"usrdt");
con1.Close();

در این مثال ساده پس از ایجاد ارتباط یک شی آداپتر ساختیم با فرمان واکشی تمام داده های موجود در جدول usrdt در دیتا بیس مون که شما می توانید با نام جدول دیتا بیس خودتون ست کنید . سپس با استفاده از متد فیل تمام داده های موجود را در یک دیتا ست ریختیم . در نهایت اتصال را بستیم !

نکته : نام جدول موجود در دیتا بیس خود را همیشه در متد فیل پاس کنید ! چون ممکنه بعدا براتون مشکل ساز بشه !

این الگو کار آمد ترین و بهترین روش موجود برای گرفیتن داده از دیتا بیس می باشد . در مورد شی دیتا ست هم در جلسه بعد بیشتر می گویم !

اما درمورد داده هایی که مقدار بر نمی گردانند شما باید از شی دیتا کامند استفاده کنید. این شی در  پارامتر اول سازنده خود یک دستور اسکیوال می گیرد ویک شی کانکتشن سپس اگر  در دستور اس کیوال خود پارامتری داشتید آنرا با پرا پرتی پارامتر شی کامندتون ست کنید و در نهایت با متد اکسکیوت نون کوئری  فرمان را در دیتا بیس خود اجرا کنید !

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

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

OleDbConnection con1=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; DataSource=e:\db\users.mdb");
DataSet ds=new DataSet();
con1.Open();
OleDbCommand comm=new OleDbCommand ("INSERT INTO usrdt (name, fname, addres)
VALUES (@ss, @aa,@dd)",con1);
comm.Parameters["@ss"].Value=textBox1.Text;
comm.Parameters["@aa"].Value=textBox2.Text;
comm.Parameters["@dd"].Value=textBox3.Text;
comm. ExecuteNonQuery();
con1.Close();

خب غالب دستور بالا بسیار ساده می باشد . در اینجا ما پس از وصل شدن به دیتا بیس و باز کردن اطلاعات یک شی دیتا کامند ساختیم با این دستور که یک سری مقدار به دیتا بیس وارد کنه که این مقدار ها در فیلد های name, fname, addres قرار می گیرند . در قسمت بعدی از همین دستور اسکیوال ما با دستور ولیوز می گوییم به ترتیب که در فیلد های name, fname, addres مقدار های مورد نظر را قرار دهد . سپس کانکتشن رو معرفی کردیم . بعد هم همانطور که در دستور اسکیوال واضح میباشد ما باید مقدار های پارامتر ها مون رو مشخص کنیم ! یعنی بگیم که چه مقدار هایی رو در دیتا بیس وارد کنه .

نکته : البته برای این کار می توانستیم که این کار را بدون  پارمتر اسکیوال انجام دهیم اما برای  این که روش کار با پارامتر ها بهتر فراگیرید من به این شکل عمل کردم . در صورتی که می خواستید مستقیما یک مقدار وارد کنید به طور مثال بجای @dd یک به یک پارمتر اسکیوال اشاره می کند میتوانستیم مستقیما مثلا مقدار 'iran - tehran- ...' رو وارد می کردیم . در این صورت هنگام ورود داده مقدار ذخیره میشد

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


به همین سادگی بخش دوم کار با دیتا بیس در دات نت را فرا گرفتید . در قسمت بعد که مرحله ی نهاییمی باشد یا دمیگیرید که چگونه داده ها را در یک کنترل ساده نمایش دهید . همچنین اشیای دیتا ست و دیتا ریدر هم مورد بررسی قرار میگیرند .

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


نوشته شده توسط دایرکتور در سه شنبه 4 مرداد 1384 و ساعت 08:07 ق.ظ
نوشته های پیشین
+ معرفی سرویس جدید پارسی باکس+ فراخوان دعوت به همکاری+ بازم شروعی دوباره !!!+ شروعی دوباره ؟؟؟؟؟+ الگوریتم های فشرده سازی+ .........+ گذری بر Delegate ها در سی شارپ+ کار با دیتا بیس ۲ + ارتباط با دیتا بیس ..... + افزودن یک ایتم منو به فلش پلیر+ عذر خواهی وکوکی+ پروسس ها در دات نت+ تغییر آدرس وبلاگ + اشاره گر ها و توابع + آموزش ASP.NET شماره ۱

صفحات: