.net/C#的DataGrid控件的编辑更新

来源:百度知道 编辑:UC知道 时间:2024/05/11 17:04:25
我用的是.net2003,语言是C#,数据库是access,我通过DataGrid控件想更新数据库,但是每次对记录编辑后,点击更新,就跟以前一样,没有更新,再次点更新才能出现编辑后的新的记录,这是为什么呢?请大家帮帮忙,总不能每次更新都点两次,这是毕业设计,我怕老师会挑毛病不让过!
代码:private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string id=((TextBox)e.Item.Cells[0].Controls[0]).Text;
string name=((TextBox)e.Item.Cells[1].Controls[0]).Text;
string leibie=((TextBox)e.Item.Cells[2].Controls[0]).Text;
string shijian=((TextBox)e.Item.Cells[3].Controls[0]).Text;
string shijian2=((TextBox)e.Item.Cells[4].Controls[0]).Text;
string changdi=((TextBox)e.Item.Cells[5].Controls[0]).Text;
string zushu=((TextBox)e.Item.Cells[6].Controls[0]).Text;
string renshu=((TextBox)e.Item.Cells[7].Controls[0]).Text;
string strConnection="Provider=Microsoft.Jet.OLEDB.4.0;";
strConnection+=@"Data Source=C:\Inetpub\wwwroot\sheji\赛事.mdb";
OleDbConnection conn=

OleDbCommand cmd=new OleDbCommand("update 赛事信息表 set 赛事名称='"+name+"', 赛事类别='"+leibie+"', 比赛日期='"+shijian+"', 具体时间='"+shijian2+"', 场地ID='"+changdi+"', 参赛组数='"+zushu+"', 参赛人数='"+renshu+"'where 赛事ID="+id+"",conn);
这句话是不是写错了啊,你改成:
OleDbCommand cmd=new OleDbCommand("update 赛事信息表 set 赛事名称='"+name+"', 赛事类别='"+leibie+"', 比赛日期='"+shijian+"', 具体时间='"+shijian2+"', 场地ID='"+changdi+"', 参赛组数='"+zushu+"', 参赛人数='"+renshu+"'where 赛事ID='"+id+"'",conn);

把你的Bindgrid()方法的代码贴出来看看

页面没有重载
在page_load里添加
if(!ispostback)
{
//datagrid绑定的数据
}
就可以了。。。