I am using Paging to show data in datagridview, but when i try to Update any data with updatebutton data should be updated In datagridview as well as in database.
But I get this error:
Update requires a valid UpdateCommand when passed DataRow collection with modified rows
which happens on this line:
adp1.Update(dt);//here I am getting error Below is the code
public partial class EditMediClgList : Form { public EditMediClgList() { InitializeComponent(); try { con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb"); con.Open(); } catch (Exception err) { MessageBox.Show("Error:" +err); } cmd1 = new OleDbCommand("Select * from MedicalColeges order by MedicalClgID", con); ds = new DataSet(); adp1 = new OleDbDataAdapter(cmd1); adp1.Fill(ds, "MedicalColeges"); dataGridView1.DataSource = ds; // Get total count of the pages; this.CalculateTotalPages(); // Load the first page of data; this.dataGridView1.DataSource = GetCurrentRecords(1, con); } private void CalculateTotalPages() { int rowCount = ds.Tables["MedicalColeges"].Rows.Count; this.TotalPage = rowCount / PageSize; if (rowCount % PageSize > 0) // if remainder is more than zero { this.TotalPage += 1; } } private DataTable GetCurrentRecords(int page, OleDbConnection con) { dt = new DataTable(); if (page == 1) { cmd2 = new OleDbCommand("Select TOP " + PageSize + " * from MedicalColeges ORDER BY MedicalClgID", con); // CurrentPageIndex++; } else { int PreviouspageLimit = (page - 1) * PageSize; cmd2 = new OleDbCommand("Select TOP " + PageSize + " * from MedicalColeges " + "WHERE MedicalClgID NOT IN " + "(Select TOP " + PreviouspageLimit + " MedicalClgID from MedicalColeges ORDER BY MedicalClgID) ", con); // + //"order by customerid", con); } try { // con.Open(); this.adp1.SelectCommand = cmd2; this.adp1.Fill(dt); txtPaging.Text = string.Format("page{0} of {1} pages", this.CurrentPageIndex, this.TotalPage); } finally { // con.Close(); } return dt; } private void button1_Click(object sender, EventArgs e) { try { adp1.Update(dt);//here I am getting error } catch (Exception err) { MessageBox.Show(err.Message.ToString()); } } }