求救 :DataGrid编辑更新按钮点击为什么不起作用.

zsgbox 2003-09-29 06:01:35
诸位大侠:
我学着写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();
}
肯请哪位大侠,指点迷津,十分感谢.
...全文
90 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
krlin100 2003-09-29
  • 打赏
  • 举报
回复
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
If Not IsPostBack Then
数据初始化
绑定数据
End If

End Sub
feiyu21 2003-09-29
  • 打赏
  • 举报
回复
程式没有条理,很乱
关键是你的数据有问题,由其是那个@id的值,多看看别人的代码。
noahart 2003-09-29
  • 打赏
  • 举报
回复
学习中~~
krlin100 2003-09-29
  • 打赏
  • 举报
回复
可能是你的page_load事件中每一次都重载了数据!
zsgbox 2003-09-29
  • 打赏
  • 举报
回复
晕,我的笔误:
MyDataGrid.EditItemIndex = -1;
应为DataGrid.EditItemIndex = -1;
算是散分吧
zhongkeruanjian 2003-09-29
  • 打赏
  • 举报
回复
MyDataGrid.EditItemIndex = - 1
xrll 2003-09-29
  • 打赏
  • 举报
回复
你看看.netframework的DataGrid数据更新的例子吧!
xrll 2003-09-29
  • 打赏
  • 举报
回复
if(!IsPostBack){
绑定数据

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧