使用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();
好绕的公式,区分出括号。
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();
好绕的公式,区分出括号。
相关文章推荐
- 用ADO.Net实现Oracle大批量数据更新优化(转)
- 用ADO.Net实现Oracle大批量数据更新优化
- C#使用Ado.Net更新和添加数据到Excel表格的方法
- .NET数据库编程求索之路--5.使用ADO.NET实现(三层架构篇-使用List传递数据)(1)
- 使用 ADO.NET 来创建、读取、更新和删除数据
- 用ADO.Net实现Oracle大批量数据更新优化
- .NET数据库编程求索之路--6.使用ADO.NET实现(三层架构篇-使用List传递数据-基于存储过程)(1)
- .NET数据库编程求索之路--4.使用ADO.NET实现(三层架构篇-使用Table传递数据)(1)
- 用ADO.Net实现Oracle大批量数据更新优化处理方法
- .NET数据库编程求索之路--4.使用ADO.NET实现(三层架构篇-使用Table传递数据)(4)
- 使用GridView 空间和ADO.NET实现数据操作
- 使用 ADO.NET 来创建、读取、更新和删除数据
- .NET数据库编程求索之路--4.使用ADO.NET实现(三层架构篇-使用Table传递数据)(5)
- Winform使用ADO.NET的SqlDataAdapter更新多表数据
- .NET数据库编程求索之路--5.使用ADO.NET实现(三层架构篇-使用List传递数据)(2)
- ADO.NET之使用DataSet类更新数据库
- .NET数据库编程求索之路--6.使用ADO.NET实现(三层架构篇-使用List传递数据-基于存储过程)(2)
- .NET数据库编程求索之路--5.使用ADO.NET实现(三层架构篇-使用List传递数据)(3)
- .NET数据库编程求索之路--4.使用ADO.NET实现(三层架构篇-使用Table传递数据)(3)
- ADO.NET使用带参数方法实现添加、删除和修改数据