课本问题提问《ASP.NET从入门到精通》
发表在ASP.NET图书答疑 2009-02-08
是否精华
版块置顶:
老师您好:
我在做 161页 9.3.3 使用Command 对象修改数据 事例时
使用的书上的代码 我自己建立的数据库文件
可是在做前面的显示 和 添加时 都成功了

在做修改时无法修改 就是说 打开时显示的什么数据 点 修改后 依旧是什么  没有变化 也就是没有成功更新了

我的代码:

这是一个填充所有数据的方法

/// <summary>编写 填充方法
/// 编写 填充方法
/// </summary>
    private void fillDataGridView()
    {
        //将方法赋值给con  等同于SqlConnection con = new SqlConnection(sqlconString);
        SqlConnection con = GetConnection();
        con.Open();
        //拼SQL语句
        string sql = "select * from yuanGong";
        //创建 Command
        SqlCommand com = new SqlCommand(sql, con);
        //创建 DataAdapter
        SqlDataAdapter dataAdapter = new SqlDataAdapter(com);
        //创建 DataSet
        DataSet dataSet = new DataSet();
        //填充 DataSet
        dataAdapter.Fill(dataSet);
        //填充 GridView 控件
        GridView1.DataSource = dataSet;
        //声明 ID 列为标识列
        GridView1.DataKeyNames = new string[] {"ID"};
        //将数据绑定到 GridView 控件
        GridView1.DataBind();
        //释放资源
        dataAdapter.Dispose();
        dataSet.Dispose();
        con.Close();
    }


这是GridView控件相关代码:

/// <summary>
/// 编辑
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;
        this.fillDataGridView();
    }
/// <summary>
/// 更新
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        int id = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value.ToString());
        string name = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString();
        string sql = "update yuanGong set Name='" + name + "' where ID=" + id;
        SqlConnection con = GetConnection();
        con.Open();
        SqlCommand com = new SqlCommand(sql,con);
        com.ExecuteNonQuery();
        com.Dispose();
        con.Dispose();
        GridView1.EditIndex = -1;
        this.fillDataGridView();
    }
/// <summary>
/// 取消
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        GridView1.EditIndex = -1;
        this.fillDataGridView();
    }

 
分享到:
精彩评论 2
mylove2008
学分:0 LV1
2009-02-10
沙发
最近工作比较忙,不能及时回复你的问题表示歉意!
请问你一下,在该页面的Page_Load事件中,有没有调用你自定义编写的方法fillDataGridView()
也就是说写没有写这样一段代码:
Protected void Page_Load(Object sender,EventArgs e)
{
  if(!ISPostBock)
   {
     fillDataGridView();
   }
}
如果还有问题再给我们发帖子!
fl2008
学分:0 LV1
2009-02-13
板凳
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
最近工作比较忙,不能及时回复你的问题表示歉意!
请问你一下,在该页面的Page_Load事件中,有没有调用你自定义编写的方法fillDataGridView()
也就是说写没有写这样一段代码:
Protected void Page_Load(Object sender,EventArgs e)
{
  if(!ISPostBock)
   {
     fillDataGridView();
   }
}
如果还有问题再给我们发帖子!
[/FIELDSET]

回复:
添加了,但是我是这样添加的

Protected void Page_Load(Object sender,EventArgs e)
{
     fillDataGridView();
}

没有用 if

我按照您的方法,加上了if 可以了  

谢谢
  
首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照