您的位置:首页 > 其它

使用ADO.NET实现数据的更新

2017-02-14 22:33 561 查看
使用ADO.NET实现数据的更新

 public SqlConnection GetConnection()

        {
            //获取Web.Config 文件中的连接字符串
            String myStr = ConfigurationManager.AppSettings["ConnectionString"].ToString();
            SqlConnection myConn = new SqlConnection(myStr);
            return myConn;
        }
        protected void bind()
        {
            SqlConnection myConn = GetConnection();
            myConn.Open();
            string sqlStr = "select * from Test_tb5";
            SqlDataAdapter myDa = new SqlDataAdapter(sqlStr,myConn);
            DataSet myDs = new DataSet();
            myDa.Fill(myDs);

            GridView1.DataSourceID = null;
            GridView1.DataSource = myDs;
            GridView1.DataKeyNames = new string[] { "ClassID"};     //指定GridView控件绑定的主键字段
            GridView1.DataBind();
            myDa.Dispose();
            myDs.Dispose();
            myConn.Close();
        }

        protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
        {
            GridView1.EditIndex = e.NewEditIndex;
            this.bind();
        }

        protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            int ClassID = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value.ToString());
            string CName = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString();
            string sqlStr = "update Test_tb5 set ClassName ='" + CName + "'where ClassID=" + ClassID;
            SqlConnection myConn = GetConnection();
            myConn.Open();
            SqlCommand myCmd = new SqlCommand(sqlStr,myConn);
            myCmd.ExecuteNonQuery();
            myCmd.Dispose();
            myConn.Close();
            GridView1.EditIndex = -1;
            this.bind();
        }

        protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            GridView1.EditIndex = -1;
            this.bind();
        }

最后实现结果:点击左边的编辑即可出现如图所示的界面:


 
然后修改之后点击更新:


 
数据就能够得以更新,点击取消之后,数据不能更新。 

 
其中值得注意的地方在: 

1、为 GridView设置主键值:::
 GridView1.DataKeyNames = new string[] { "ClassID"};  

2、在GridView的相关事件中获取主键值:
 string CName = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString();

好绕的公式,区分出括号。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐