private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string ID = e.Item.Cells[1].Text;
string Title = ((TextBox)e.Item.Cells[1].Controls[0]).Text;
string Content = ((TextBox)e.Item.Cells[2].Controls[0]).Text;
this.sqlDataAdapter1.Fill(dataSet11);+++++++++++++++++++++++++++++++++++++++++++++++++++++++
DataSet1.t_guestbook_mainRow dr = dataSet11.t_guestbook_main.FindByID(ID); '这句语句我是参照微软视频上做的,为什么就是不行
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
dr.title = Title;
dr.content = Content;
this.sqlDataAdapter1.Update(dataSet11);
dataSet11.AcceptChanges();
this.DataGrid1.EditItemIndex = -1;
this.DataGrid1.DataBind();
}
{
string ID = e.Item.Cells[1].Text;
string Title = ((TextBox)e.Item.Cells[1].Controls[0]).Text;
string Content = ((TextBox)e.Item.Cells[2].Controls[0]).Text;
this.sqlDataAdapter1.Fill(dataSet11);+++++++++++++++++++++++++++++++++++++++++++++++++++++++
DataSet1.t_guestbook_mainRow dr = dataSet11.t_guestbook_main.FindByID(ID); '这句语句我是参照微软视频上做的,为什么就是不行
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
dr.title = Title;
dr.content = Content;
this.sqlDataAdapter1.Update(dataSet11);
dataSet11.AcceptChanges();
this.DataGrid1.EditItemIndex = -1;
this.DataGrid1.DataBind();
}
Convert.ToInt16(ID)
此处FindByID要求传入的数据类型是int型的,而你上面定义的ID显然是string型的,所以必须要转换。
把此句改成。
dataSet11.t_guestbook_main.FindByID(int.Parse(ID));
或
dataSet11.t_guestbook_main.FindByID(Convert.ToInt16(ID));
即可。
行 188: private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
行 189: {
行 190: int Id = Convert.ToInt16(e.Item.Cells[0].Text);
行 191: string Title = ((TextBox)e.Item.Cells[1].Controls[0]).Text;
行 192: string Content = ((TextBox)e.Item.Cells[2].Controls[0]).Text;
都是那个微软视频的错