Erreur : mise à Jour nécessite un UpdateCommand valide lorsqu'il est passé DataRow collection de lignes modifiées

Je suis en utilisant la Pagination pour afficher les données en datagridview, mais quand j'essaie de mettre à Jour les données avec updatebutton de données doit être mise à jour Dans datagridview ainsi que dans la base de données.

Mais j'obtiens cette erreur:

Mise à jour nécessite une UpdateCommand valide lorsqu'il est passé DataRow collection
avec des lignes modifiées

qui se passe sur cette ligne:

adp1.Update(dt);//here I am getting error

Ci-dessous est le 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());
}
}
}

OriginalL'auteur Durga | 2013-09-02