دوست عزیز فکر کنم منظور اون بنده خدا این بوده که شما یه DataAdapter بسازی و توسط متد Fill یک دیتا ست رو پر کنی و از طریق متد Update تغییراتی رو که روی DataSet اعمال میشه تو بانک اطلاعاتی اعمال کنی این کار به این صورت انجام میشه
شما میتونی تغییرات ایجاد شده تو یه DataTable یا یه DataSet رو به روش زیر به بانک منتقل کنی
معرفی اشیا از کلاسهای مورد نیاز
SqlConnection sqlConnection = new SqlConnection("Data Source=100.10.1.5;Initial Catalog=Attendence;Integrated Security=False;User ID=sa;Password=master");
SqlCommand sqlCommand;
SqlDataAdapter adapter;
DataTable DT;
انتقال اطلاعات به DataTable و نمایش اون توی گرید
string sqlCmd = "Select * From Personel";
sqlCommand = new SqlCommand(sqlCmd, sqlConnection);
adapter = new SqlDataAdapter(sqlCommand);
DT = new DataTable("Personel");
adapter.Fill(DT);
dataGridView1.DataSource = DT;
ثبت تغییرات ایجاد شده در بانک
sqlCommand = new SqlCommand("Select * From Personel", sqlConnection);
SqlCommandBuilder sqlCmdBuilder = new SqlCommandBuilder(adapter);
adapter.SelectCommand = sqlCommand;
adapter.InsertCommand = sqlCmdBuilder.GetInsertCommand(true);
adapter.UpdateCommand = sqlCmdBuilder.GetUpdateCommand(true);
adapter.DeleteCommand = sqlCmdBuilder.GetDeleteCommand(true);
adapter.Update(DT);
با کد بالا اگه کاربر یک ردیف به گرید اضافه کنه یا حذف کنه و یا تغییری توی یک ردیف ایجاد کنه تمام این تغییرات با هم توی بانک اعمال میشه
البته لازم به توضیح که در صورتی که ردیفی از گرید حذف بشه و اون رکورد توی یه جدول دیگه استفاده شده باشه (منظورم همون کلید خارجی) در این صورت موقع Update باید اون رو هم کنترل کنی