Rediger date i en DataGrid
Jeg er snart ved at miste alt mit hår på hovedet! Jeg har kopiret en DataGrid fra min lærebog som virker 100% sammen med Northwind.mdb databasen, bare ikke med min(???)Scriptet ser således ud:
void OpdaterData(Object sender, DataGridCommandEventArgs e) {
TextBox ObjPage, ObjMenu, ObjUnderMenu, ObjLink, ObjAktiv;
string strPage, strMenu, strUnderMenu, strLink, strAktiv;
int intID;
ObjPage = (TextBox)e.Item.Cells[1].Controls[0];
ObjMenu = (TextBox)e.Item.Cells[2].Controls[0];
ObjUnderMenu = (TextBox)e.Item.Cells[3].Controls[0];
ObjLink = (TextBox)e.Item.Cells[4].Controls[0];
ObjAktiv = (TextBox)e.Item.Cells[5].Controls[0];
intID = Int32.Parse(e.Item.Cells[0].Text);
strPage = ObjPage.Text;
strMenu = ObjMenu.Text;
strUnderMenu = ObjUnderMenu.Text;
strLink = ObjLink.Text;
strAktiv = ObjAktiv.Text;
OleDbCommand OurCommand;
OleDbConnection OurConnection;
OurConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("db/sideindhold.mdb")+";");
OurCommand = new OleDbCommand("UPDATE sider SET page ='" + strPage +"', menu = '" + strMenu + "', undermenu = '" + strUnderMenu + "', link = '" + strLink + "', aktiv = '" + strAktiv + "' WHERE ID = " + intID, OurConnection);
OurCommand.Connection.Open();
OurCommand.ExecuteNonQuery();
OurCommand.Connection.Close();
dgSideIndhold.EditItemIndex = -1;
LoadData();
}
Fejlmeddelsen:
Detaljer om undtagelse: System.ArgumentOutOfRangeException: Det angivne argument lå uden for det gyldige værdiområde.
Parameternavn: index
Kildefejl:
Linje 56: string strPage, strMenu, strUnderMenu, strLink, strAktiv;
Linje 57: int intID;
Linje 58: ObjPage = (TextBox)e.Item.Cells[1].Controls[0];<---
Linje 59: ObjMenu = (TextBox)e.Item.Cells[2].Controls[0];
Linje 60: ObjUnderMenu = (TextBox)e.Item.Cells[3].Controls[0];
Felterne i begge databaser er af typen "Tekst" og har dubletter tilladt
