求救 :DataGrid编辑更新按钮点击为什么不起作用.
诸位大侠:
我学着写DataGrid编辑功能,更新按钮却老不好用,点击更新后,重新刷新页面,编辑控件还存在,可输入,数据又回到原先未改动的值,请问这是怎么加回事,
//更新按钮函数调用如下:
private void DataGrid_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e){
String updateCmd = "UPDATE Test SET id = @id, name = @name, sex = @sex, age = @age, tel=@tel,address=@address,remark=@remark where id=@id";
SqlCommand myCommand = new SqlCommand(updateCmd, Connection);
myCommand.Parameters.Add(new SqlParameter("@id", SqlDbType.Int));
myCommand.Parameters.Add(new SqlParameter("@name", SqlDbType.Char, 10));
myCommand.Parameters.Add(new SqlParameter("@sex", SqlDbType.Char, 2));
myCommand.Parameters.Add(new SqlParameter("@age", SqlDbType.Char, 1102));
myCommand.Parameters.Add(new SqlParameter("@tel", SqlDbType.Char, 10));
myCommand.Parameters.Add(new SqlParameter("@address", SqlDbType.Char, 50));
myCommand.Parameters.Add(new SqlParameter("@remark", SqlDbType.Text));
myCommand.Parameters["@id"].Value = DataGrid.DataKeys[(int)e.Item.ItemIndex];
String[] cols = {"@id","@name","@sex","@age","@tel","@address","@remark"};
int numCols = e.Item.Cells.Count;
for (int i=1; i<numCols; i++)
{
String colvalue =((System.Web.UI.WebControls.TextBox)e.Item.Cells[i].Controls[0]).Text;
myCommand.Parameters[cols[i-1]].Value = colvalue;
}
myCommand.Connection.Open();
try
{
myCommand.ExecuteNonQuery();
Message.InnerHtml = "<b>Record Updated</b><br>" + updateCmd;
MyDataGrid.EditItemIndex = -1;
}
catch (SqlException exc)
{
//...
}
myCommand.Connection.Close();
BindGrid();
}
肯请哪位大侠,指点迷津,十分感谢.