解释一段C#代码 急!!
/// <summary>
/// 更新一条数据
/// </summary>
public void Update(WebProject.Model.BaseData.Tea_News model)
{
StringBuilder strSql=new StringBuilder();
strSql.Append("update Tea_News set ");
strSql.Append("Title=@Title,");
strSql.Append("ImgUrl=@ImgUrl,");
strSql.Append("Body=@Body,");
strSql.Append(" where NewsID=@NewsID ");
SqlParameter[] parameters = {
new SqlParameter("@NewsID", SqlDbType.Int,4)
)};
parameters[0].Value = model.NewsID;
DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);
}
大体解释以下每个意思 谢谢了
------最佳解决方案--------------------/// <summary>
/// 更新一条数据
/// </summary>
public void Update(WebProject.Model.BaseData.Tea_News model)
{
/**
用StringBuilder类拼接SQL语句
也可写成 string="update Tea_News set Title=@Title,ImgUrl=@ImgUrl,Body=@Body
where NewsID=@NewsID";
* 参考http://blog.163.com/soli1988_blog/blog/static/1768952722012102813438589/
**/
StringBuilder strSql=new StringBuilder();
strSql.Append("update Tea_News set ");
strSql.Append("Title=@Title,");
strSql.Append("ImgUrl=@ImgUrl,");
strSql.Append("Body=@Body,"); //这里是没有逗号的,错误
strSql.Append(" where NewsID=@NewsID ");
//修改语句,用@NewsID初始化SqlDbType.Int类的新实例
//参考http://www.cnblogs.com/pioneerlc/archive/2011/05/21/2053052.html
SqlParameter[] parameters = {
new SqlParameter ("@NewsID", SqlDbType.Int,4))};
parameters[0].Value = model.NewsID; //model(可参考三层架构)实例中的NewsID字段,
//执行语句
DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);
}
------其他解决方案--------------------strSql.Append("Title=@Title,");
我想主要是这句看不懂吧? 我猜可能是想在 html中生成模板吧? 以便以后用replace("@Title","页面标题")替换生成静态页
------其他解决方案--------------------StringBuilder 是拼接字符串的。
Append(“xx”) 就是把xx加到后面。
@xx理解成占位符,
new SqlParameter("@NewsID", SqlDbType.Int,4)
)}; 总的指导占位符是什么玩意儿吧 哦 他是int 类型的
parameters[0].Value = model.NewsID; 占位符总的有值吧。 这是给他一个值
很明显 你代码里没有给全。
DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);这就是执行那串sql