Sinclai 2015-08-14 02:02 采纳率: 0%
浏览 2152
已结题

C#无法使用更新编辑GridView1_RowUpdating

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;

public partial class sicao_SC_8 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=(local);Initial Catalog=SC;User ID=lxk;Password=123";
conn.Open();
string sql = "select * from student";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataAdapter dapt = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
dapt.Fill(ds, "student");
GridView1.DataSource = ds.Tables["student"];
GridView1.DataBind();
conn.Close();
dapt.Dispose();

}
//添加
protected void Button1_Click(object sender, EventArgs e)
{
    string stu_name = Name.Text.ToString();
    int stu_number = Convert.ToInt32(Number.Text);
    SqlConnection conn = new SqlConnection();
    conn.ConnectionString = "Data Source=(local);Initial Catalog=SC;User ID=lxk;Password=123";
    conn.Open();
    string sql = "insert into student(stu_name,stu_number)values('"+stu_name+"','"+stu_number+"')";
    SqlCommand cmd = new SqlCommand(sql, conn);
    cmd.ExecuteNonQuery();
    Response.Write("<script>alert('添加信息成功!');window.location.href='SC-8.aspx'</script>");
    GridView1.DataBind();
    conn.Close();
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{

}
//翻页
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    GridView1.PageIndex = e.NewPageIndex;
    this.DataBind();
}
//编辑
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
    GridView1.EditIndex = e.NewEditIndex;
    this.DataBind();
}
//取消
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
    GridView1.EditIndex =-1;
    this.DataBind();
}
//更新
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
    int id = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Values[0]);
    string stu_name = ((TextBox)(this.GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text;
    int stu_number = Convert.ToInt32(((TextBox)(this.GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text);
    string sql="UPDATE student set stu_name='"+stu_name+"',stu_number='"+stu_number+"' where id='"+id+"'";
    SqlConnection conn = new SqlConnection();
    conn.ConnectionString = "Data Source=(local);Initial Catalog=SC;User ID=lxk;Password=123";
    conn.Open();
    SqlCommand cmd = new SqlCommand(sql, conn);
    cmd.ExecuteNonQuery();
    conn.Close();
}
//删除
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
    string sqlstr = "delete from student where id='" + GridView1.DataKeys[e.RowIndex].Values.ToString() + "'";
    string strcon = "Data Source=(local);Database=SC;User ID=lxk;Password=123";
    SqlConnection sqlcon = new SqlConnection(strcon);
    SqlCommand sqlcom = new SqlCommand(sqlstr, sqlcon);
    sqlcon.Open();
    sqlcom.ExecuteNonQuery();
    Response.Write("<script>alert('删除信息成功!');window.location.href='SC-8.aspx'</script>");
    GridView1.DataBind();
    sqlcon.Close();
}

}

  • 写回答

1条回答

  • EAison 2015-08-14 10:05
    关注

    绑定数据不应该写在页面加载里 应该放在一个方法中 这是一个错误 因为你更新之后需要页面刷新才能重新加载数据
    然后执行完之后加一句GridView1.EditIndex = -1,如何再一次绑定数据
    还要你这样代码写了太乱了 一些公共的东西不能把它封装在一个方法吗?

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!