نوشته شده توسط
sara1368
سلام به تمامیه دوستان
اول از همه میخوام بگم خیلی خوشحالم که عضو این انجمن شدم و کاربرای فعالی مثل شما ها رو دیدم
من دانشجو کامپیوترم و به رشته ام هم خیلی علاقه دارم اما احساس میکنم مطالبی که در دانشگاه تدریس میشه اصلا کافی نیست به خاطر همین خودم شروع کردم به خوندن سی شارپ و sql که بتونم بجای فایل استریم ها یه پایگاه داده داشته باشم .تونستم بلاخره با کتابایی که خوندم این دوتا رو به هم اتصال بدم(البته میدونم اینایی که میگم برا خیلی هاتون پیش پا افتاده ست .دیگه چیکار کنم من مبتدیم)اما نمیدونم چه جوری میتونم مثلا یه داده جدید رو توش ذخیره کنم یه حذف کنم.البته اینجا مطالب خیلی زیادی در این خصوص دوستان زحمت کشیدن گذاشتن اما من واقعا نمیدونم کدومو باید بخونم..ممنون میشم راهنمایم کنین
از تمام اونایی که به خاطر یه کاربر مبتدی وقت میگذارن و راهنمایی میکنن متشکرم
سلام دوست عزیز
سعی می کنم از 0 براتون بگم که باید چکار کنین هر جاش مشکل داشتین بگین ت حل شه
ما فرض می کنیم که شما یه دیتابیس دارین و می خواین داده های یکی از جداول رو توی گراید نمایش بدین.پس :
DataBase---------------------------------------------------------------------------------Gride
همینجور که می دونین اینکار با دستورات sql انجام می شه درسته؟پس
DataBase----------------------------------SQLCommand-----------------------------------Gride
اما دستورات sql از کجا بدونن که باید روی کدوم جدول از کدوم دیتابیس اجرا بشن؟ برای همین به دستورات آدرس دیتابیس رو می دیم تو C# بهش می گن کانکشن.پس:
DataBase----------SQLConnection--------------SQLCommand-----------------------------------Gride
حالا باید حاصل دستورات رو توی گراید بریزیم ولی متاسفانه نمیشه مستقیم اینکارو کردچرا؟؟؟از طراحان C# بپرسید.برای همین از یه رابط به نام دیتاست استفاده می کنیم که دیتاست هم توسط دیتاآداپتور پر میشه.پس:
DataBase----------SQLConnection--------------SQLCommand----------DataAdabter---------DataSet---------Gride
حالا همین خط آخر رو کد می نویسیم
دیتابیس که ساخته شده پس از دومی شروع می کنیم
System.Data.SqlClient.SqlConnectio con = new System.Data.SqlClient.SqlConnection();
بالا گفتیم که باید بهش آدرس دیتابیس رو بدیم که یه رشته است این رشته با 1000 نوع روش و نوع میشه ساخت فرض ما بر این است که از دیتابیس خود vs استفاده کردی (sqlExpress) برا همین به روش زیر میتونین این رشته رو بدست بیاریدو اونو اینجوری به کانکشنتون بدین و اونو باز کنین "من فرض کردم نام دیتابیسم database1 ونام پروژه WindowsFormsApplication1 است" پس:
con.ConnectionString =
WindowsFormsApplication1 .Properties.Settings.Default.database1ConnectionString;
con.open();
حالا بریم سراغ دستورات
دستورات sql به 4 دسته تقسیم می شن:select insert update delete
ما اول 3 دستور Insert delete update رو انجام می دیم که ساده تر است
برا این منظور به روش زیر عمل می کنیم:
ما یه آبجکت از sqlcommand می سازیم و بهش میگیم که رو کدوم دیتابیس اجرا بشه وچه دستوری اجرا بشه و حالا اجرا شو. این روند رو کد می کنیم:
System.Data.SqlClient.SqlCommand com = new System.Data.SqlClient.SqlCommand();
com.Connection = (con);
com.CommandText = (command);
com.ExecuteNonQuery();
در کد بالا منظور از commandدستور sql است حالا می تونه insert یا delete یا update باشه
ولی اگه select بود چی؟؟؟
برای این منظور کد بالا رو به کد زیر تغییر میدیم:
به جای اجرا در کد بالا ما یه آبجکت از دیتاآداپتور می سازیم و خاصیت selectcommandش رو دستورcommand قرار می دیم و از متود fill برای ریختن حاصل در دیتاست استفاده می کنیم و بعد دیتاست رو به گراید بایند می کنیم تا داده ها در گراید نمایش داده بشن.این روند رو کد می کنیم:
System.Data.SqlClient.SqlCommand com = new System.Data.SqlClient.SqlCommand();
com.Connection = (con);
com.CommandText = (command);
SqlDataAdapter d = newSqlDataAdapter();
d.SelectCommand = (com);
DataSet ds =newDataSet();
d.Fill(ds);
dataGridView1.DataSource = (ds.Tables[0]);
امیدوارم مفید واقع شده باشه