我们接着《利用数据库存储过程方法来设计操作投票系统2》中的代码讲解。其实主要的就是:
//更新SQL语句
//string updateSql = "update Vote set HeroName='" + nameText + "',VoteOpinion='" + opinionText + "' where HeroName='" + heroname + "'";
SqlConnection DBCon = DBClass.GetConnection();
DBCon.Open();
string updateSql = opinionText;
int heroid2 = Convert.ToInt32(heroname);
SqlCommand OpinionCom = new SqlCommand("opinion", DBCon);
OpinionCom.CommandType = CommandType.StoredProcedure;
SqlParameter heroID2 = new SqlParameter("@ID", SqlDbType.NVarChar, 4);
heroID2.Value = heroid2;
OpinionCom.Parameters.Add(heroID2);
SqlParameter opinion1 = new SqlParameter("@result", DBCon);
opinion1.Value = updateSql;
OpinionCom.Parameters.Add(opinion1);
object obj=OpinionCom.ExecuteScalar();
if (obj != null || obj != DBNull.Value)
{
Response.Write("<script>alert('修改成功!')</script>");
//设置GridView控件的编辑项的索引为-1,即取消编辑
GridView1.EditIndex = -1;
DVBind();
}
else
{
Response.Write("<script>alert('修改失败!')</script>");
}
OpinionCom.Dispose();
DBCon.Close();
这几句代码的问题,当我们点击更新按钮时,主要起作用的就是这段代码,在这里,请你看看《 asp.net中利用ADO.NET技术采用多种方法删除,更新,编辑数据库中的数据》《自定义GridView控件的列-TemplateFiled列显示"删除"对话框》《GridView控件编辑列中的CommandFiled列详解》《数据库执行函数ExecuteScalar返回值判断》等相关文章,如果你有看不懂代码的地方,请在网站仔细找找文章,我都写过相关的代码介绍。这段代码依旧是两个存储过程参数的引用,其次就是是否执行了数据库查询的判断,不过前提是判断出,你点击的是哪个单元格,修改的地方是在哪个GridView控件的单元格控件。这些我都在网站写过相关的文章介绍。好了最后看看实现: