Gridview连接数据库求助 获取Values[0]之前请确保Values里面有值。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把36行放到GridView_RowUpdating和GridView_RowDeleting事件中 GridView实现连接数据库、选择、编辑、删除商品信息功能//查询绑定连接数据控件protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindData();//调用自定义方法绑定数据到控件 } } public void BindData() { string strCon = ConfigurationManager.AppSettings["conStr"];//定义数据库连接字符串 string sqlstr = "select * from mrbccd";//定义执行查询操作的SQL语句 SqlConnection con = new SqlConnection(strCon);//创建数据库连接对象 SqlDataAdapter da = new SqlDataAdapter(sqlstr, con);//创建数据适配器 DataSet ds = new DataSet();//创建数据集 da.Fill(ds); //填充数据集 GridView1.DataSource = ds;//设置GridView控件的数据源为创建的数据集ds //将数据库表中的主键字段放入GridView控件的DataKeyNames属性中 GridView1.DataKeyNames = new string[] { "BccdID" }; GridView1.DataBind();//绑定数据库表中数据}//绑定索引显示数据protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { GridView1.EditIndex = e.NewEditIndex; BindData();//数据绑定 }//CodeGo.net///更新数据库数据表protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { //取得编辑行的关键字段的值 string bccdID = GridView1.DataKeys[e.RowIndex].Value.ToString(); //取得文本框中输入的内容 string bccdName=((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim(); string bccdPrice=((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim(); string bccdSaleDate=((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim(); string bccdInStock=((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim(); //定义更新操作的SQL语句 string update_sql = "update mrbccd set BccdName='" + bccdName + "',BccdPrice='" + bccdPrice + "',bccdSaleDate='" + Convert.ToDateTime(bccdSaleDate) + "',BccdInStock='" + bccdInStock + "' where BccdID='" + bccdID + "'"; bool update = ExceSQL(update_sql);//调用ExceSQL执行更新操作 if (update) { Response.Write("<script language=javascript>alert('修改成功!')</script>"); //设置GridView控件的编辑项的索引为-1,即取消编辑 GridView1.EditIndex = -1; BindData(); } else { Response.Write("<script language=javascript>alert('修改失败!');</script>"); } }//删除数据表中的数据 protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) { //定义一个整型变量count存储根据当前行索引获取到的指定单元格中的字段值 int count = int.Parse(GridView1.Rows[e.RowIndex].Cells[4].Text.Trim()); if (count > 0) { e.Cancel = true;//取消删除动作 lblMessage.Text = "警告:库存量大于0的商品不得删除!"; lblMessage.ForeColor = System.Drawing.Color.Red; return; } string delete_sql = "delete from mrbccd where BccdID='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'"; bool delete = ExceSQL(delete_sql);//调用ExceSQL执行删除操作 if (delete) { Response.Write("<script language=javascript>alert('删除成功!')</script>"); BindData();//调用自定义方法重新绑定控件中数据 } else { Response.Write("<script language=javascript>alert('删除失败!')</script>"); } } C# gridview 中 session 传值问题 连接数据库异常,如何给界面良好提示? SocketException怎么处理.异常问题! 关于 验证控件问题 GDI+ 向一个矩形区域内画文字,如何根据该区域的大小得到文字的字体大小 用正则进行进行字符串操作的问题,用StringBuilder合适还是String合适 请大家帮忙, web services 保存文件遇到的问题 datagrid添加一列,标记记录的序号,如何实现? C# windows 服务操作txt问题。 请问在c#中如何实现对话框功能? C# 将xml文件导入sql数据库表中 如果转换ARGB 到RGB
//查询绑定连接数据控件
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindData();//调用自定义方法绑定数据到控件
}
}
public void BindData()
{
string strCon = ConfigurationManager.AppSettings["conStr"];//定义数据库连接字符串
string sqlstr = "select * from mrbccd";//定义执行查询操作的SQL语句
SqlConnection con = new SqlConnection(strCon);//创建数据库连接对象
SqlDataAdapter da = new SqlDataAdapter(sqlstr, con);//创建数据适配器
DataSet ds = new DataSet();//创建数据集
da.Fill(ds); //填充数据集
GridView1.DataSource = ds;//设置GridView控件的数据源为创建的数据集ds
//将数据库表中的主键字段放入GridView控件的DataKeyNames属性中
GridView1.DataKeyNames = new string[] { "BccdID" };
GridView1.DataBind();//绑定数据库表中数据
}
//绑定索引显示数据
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
BindData();//数据绑定
}//CodeGo.net/
//更新数据库数据表
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
//取得编辑行的关键字段的值
string bccdID = GridView1.DataKeys[e.RowIndex].Value.ToString();
//取得文本框中输入的内容
string bccdName=((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim();
string bccdPrice=((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim();
string bccdSaleDate=((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim();
string bccdInStock=((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim();
//定义更新操作的SQL语句
string update_sql = "update mrbccd set BccdName='" + bccdName + "',BccdPrice='" + bccdPrice + "',bccdSaleDate='" + Convert.ToDateTime(bccdSaleDate) + "',BccdInStock='" + bccdInStock + "' where BccdID='" + bccdID + "'";
bool update = ExceSQL(update_sql);//调用ExceSQL执行更新操作
if (update)
{
Response.Write("<script language=javascript>alert('修改成功!')</script>");
//设置GridView控件的编辑项的索引为-1,即取消编辑
GridView1.EditIndex = -1;
BindData();
}
else
{
Response.Write("<script language=javascript>alert('修改失败!');</script>");
}
}
//删除数据表中的数据
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
//定义一个整型变量count存储根据当前行索引获取到的指定单元格中的字段值
int count = int.Parse(GridView1.Rows[e.RowIndex].Cells[4].Text.Trim());
if (count > 0)
{
e.Cancel = true;//取消删除动作
lblMessage.Text = "警告:库存量大于0的商品不得删除!";
lblMessage.ForeColor = System.Drawing.Color.Red;
return;
}
string delete_sql = "delete from mrbccd where BccdID='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";
bool delete = ExceSQL(delete_sql);//调用ExceSQL执行删除操作
if (delete)
{
Response.Write("<script language=javascript>alert('删除成功!')</script>");
BindData();//调用自定义方法重新绑定控件中数据
}
else
{
Response.Write("<script language=javascript>alert('删除失败!')</script>");
}
}