M.Soroor
یک شنبه 05 اسفند 1386, 12:52 عصر
پیرو تاپیک قبلی که زده بودم و مشکلم حل شد، فقط مشکلی در Update شدن دیتابس برام پیش اومده
من یک جدول دارم به نام Info و سه فیلد به نام های name , family , pic
در Form1 دو TextBox به نام های txtName1 , txtFamily1 دارم و یک کلید جستجو (btnSearch)
در Form2 هم یک DataGrid ، دو TextBox به نام های txtName2 , txtFamily2 ، یک PictureBox به نام PicBox1 ، یک کلید ویرایش (btnEdit) و یک کلید حذف (btnDel)
وقتی کاربر در فرم1 یکی یا هر دو TextBox رو با مقدار دلخواه پر می کنه و برروی جستجو کلیک می کنه فرم2 نمایش داده میشه و در DataGrid نتایج جستجو نمایش داده میشه
کد مربوط به جستجو در رویداد لود Form1:
Me.InfoTableAdapter.Fill(Me.DataSet1.Info)
objDataView = New DataView(DataSet1.Tables("Info"))
name = "name LIKE " + "'%" + Form1.txtname1.Text + "%'"
family = "family LIKE " + "'%" + Form1.txtfamily1.Text + "%'"
objDataView.RowFilter = name + " AND " + family
DataGrid1.DataSource = objDataView
DataGrid1.Refresh()
جستجو بدون هیچ مشکلی انجام میشه و نتایج در DataGrid نمایش داده میشه
TextBoxها و PictureBox را به DataView متصل(bind) کردم و با انتخاب یک سطر در DataFrid اطلاعات اون سطر در TextBoxها و PictureBox نمایش داده میشه
حذف کردن یک سطر از DataGrid رو با این کد انجام دادم:
DataDrid1.Rows.RemoveAt(DataGrid1.CurrentRow.Index )
و برای اعمال این تغییرات در دیتابیس از این کد استفاده کردم:
InfoTableAdapter.Update(DataSet1)
برای اضافه کردن رکورد هم از روش DataSet استفاده کردم:
InfoBindingSource.AddNew()
InfoBindingSource.EndEdit()
InfoTableAdapter.Update(DataSet1)
تا اینجای کار مشکلی نیست، اضافه کردن، حذف کردن و جستجو بدون هیچ مشکلی انجام میشه و تغییرات در دیتابیس هم اعمال میشه
اما در ویرایش اطلاعات مشکل دارم، با اینکه TextBoxها رو به DataView متصل(bind) کردم و تغییرات در DataGrid اعمال میشه، اما تغییرات در دیتابیس ذخیره نمیشه
لطفآ راهنمایی کنید از چه کدی باید در رویداد کلیک کلید btnEdit استفاده کنم برای ذخیره تغییرات در دیتابیس
پیشاپیش ممنونم:لبخندساده:
من یک جدول دارم به نام Info و سه فیلد به نام های name , family , pic
در Form1 دو TextBox به نام های txtName1 , txtFamily1 دارم و یک کلید جستجو (btnSearch)
در Form2 هم یک DataGrid ، دو TextBox به نام های txtName2 , txtFamily2 ، یک PictureBox به نام PicBox1 ، یک کلید ویرایش (btnEdit) و یک کلید حذف (btnDel)
وقتی کاربر در فرم1 یکی یا هر دو TextBox رو با مقدار دلخواه پر می کنه و برروی جستجو کلیک می کنه فرم2 نمایش داده میشه و در DataGrid نتایج جستجو نمایش داده میشه
کد مربوط به جستجو در رویداد لود Form1:
Me.InfoTableAdapter.Fill(Me.DataSet1.Info)
objDataView = New DataView(DataSet1.Tables("Info"))
name = "name LIKE " + "'%" + Form1.txtname1.Text + "%'"
family = "family LIKE " + "'%" + Form1.txtfamily1.Text + "%'"
objDataView.RowFilter = name + " AND " + family
DataGrid1.DataSource = objDataView
DataGrid1.Refresh()
جستجو بدون هیچ مشکلی انجام میشه و نتایج در DataGrid نمایش داده میشه
TextBoxها و PictureBox را به DataView متصل(bind) کردم و با انتخاب یک سطر در DataFrid اطلاعات اون سطر در TextBoxها و PictureBox نمایش داده میشه
حذف کردن یک سطر از DataGrid رو با این کد انجام دادم:
DataDrid1.Rows.RemoveAt(DataGrid1.CurrentRow.Index )
و برای اعمال این تغییرات در دیتابیس از این کد استفاده کردم:
InfoTableAdapter.Update(DataSet1)
برای اضافه کردن رکورد هم از روش DataSet استفاده کردم:
InfoBindingSource.AddNew()
InfoBindingSource.EndEdit()
InfoTableAdapter.Update(DataSet1)
تا اینجای کار مشکلی نیست، اضافه کردن، حذف کردن و جستجو بدون هیچ مشکلی انجام میشه و تغییرات در دیتابیس هم اعمال میشه
اما در ویرایش اطلاعات مشکل دارم، با اینکه TextBoxها رو به DataView متصل(bind) کردم و تغییرات در DataGrid اعمال میشه، اما تغییرات در دیتابیس ذخیره نمیشه
لطفآ راهنمایی کنید از چه کدی باید در رویداد کلیک کلید btnEdit استفاده کنم برای ذخیره تغییرات در دیتابیس
پیشاپیش ممنونم:لبخندساده: