| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 904 人关注过本帖
标题:求助!DataGrid控件的更新列怎么更新不了数据?
只看楼主 加入收藏
zhangruan
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2008-5-9
收藏
 问题点数:0 回复次数:3 
求助!DataGrid控件的更新列怎么更新不了数据?
各位朋友帮忙看看我的代码错在哪里?
我在DataGrid控件里加了个编辑按钮列,可是运行后,数据更新不到数据库中?是什么原因阿?我是菜鸟,看拉好久没找到错误原因。
private void LoadData()//将DataGrid控件邦定到数据源
{
    SqlDataAdapter sqlDa=new SqlDataAdapter();
    SqlConnection conn=new SqlConnection("Server=.;uid=sa;password=sa;Database=zra");
    conn.Open();
    SqlCommand selectCmd=new SqlCommand("select * from getixinxi");
    selectCmd.Connection=conn;
    sqlDa.SelectCommand=selectCmd;
    DataSet ds=new DataSet();
    sqlDa.Fill(ds,"getixinxi");
    DataGrid1.DataSource=ds;
    DataGrid1.DataBind();
    conn.Close();
    conn.Dispose();
    selectCmd.Dispose();
}
private void DataGrid1_UpdateCommand(object source,System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
    SqlCommand cmd=new SqlCommand();
    cmd.Connection=new SqlConnection("Server=.;uid=sa;password=sa;Database=zra");
    string dengjimingcheng = this.DataGrid1.DataKeys[0].ToString();
    getixinxi set"+"  jingyingfanwei=@jingyingfanwei,jingyingdizhi=@jingyingdizhi,zhucezhijin=@zhucezhijin where dengjimingcheng=@dengjimingcheng";//更新语句
    SqlParameter prmjingyingfanwei=new SqlParameter("@jingyingfanwei",SqlDbType.Char,10);
    prmjingyingfanwei.Direction=ParameterDirection.Input;
    cmd.Parameters.Add(prmjingyingfanwei);
   SqlParameter prmjingyingdizhi=new SqlParameter("@jingyingdizhi",SqlDbType.Char,10);
    prmjingyingdizhi.Direction=ParameterDirection.Input;
    cmd.Parameters.Add(prmjingyingdizhi);
    SqlParameter prmzhucezhijin=new SqlParameter("@zhucezhijin",SqlDbType.Float);
    prmzhucezhijin.Direction=ParameterDirection.Input;
    cmd.Parameters.Add(prmzhucezhijin);
    prmjingyingfanwei.Value=((TextBox)(e.Item.Cells[2].Controls[0])).Text;
    prmjingyingdizhi.Value=((TextBox)(e.Item.Cells[3].Controls[0])).Text;
    prmzhucezhijin.Value=((TextBox)(e.Item.Cells[4].Controls[0])).Text;
    cmd.Connection.Open();
    cmd.ExecuteNonQuery();
    cmd.Connection.Close();
    cmd.Connection.Dispose();
    cmd.Dispose();
    DataGrid1.EditItemIndex= -1;
    LoadData();
}
LoadData()是我定义的用于将修改的数据重新邦定,  jingyingfanwei,jingyingdizhi,zhucezhijin是要更新的数据库表的3个项,主键是dengjimingcheng,表名是getixinxi,朋友们帮忙看看吧,谢谢啦!!!!
搜索更多相关主题的帖子: DataGrid控件 数据库 new conn selectCmd 
2008-05-17 21:06
skyland84
Rank: 2
等 级:新手上路
威 望:4
帖 子:544
专家分:0
注 册:2006-10-9
收藏
得分:0 
我在怀疑 你的更新事件是否有被处理。你用RESPOND测试下看是否进入该更新事件的处理

决定人生~
2008-05-18 00:33
zhangruan
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2008-5-9
收藏
得分:0 
好的,我测测看先
2008-05-18 10:14
zhangruan
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2008-5-9
收藏
得分:0 
问题解决了,就是更新语句有毛病,我换了个语句
string sqlstr="Update getixinxi set dengjimingcheng=@dengjimingcheng,jingyingfanwei=@jingyingfanwei,jingyingdizhi=@jingyingdizhi,zhucezhijin=@zhucezhijin where dengjimingcheng=@dengjimingcheng";
            SqlCommand cmd=new SqlCommand(sqlstr,conn);
谢谢
2008-05-18 16:49
快速回复:求助!DataGrid控件的更新列怎么更新不了数据?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019248 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved