问题描述
publicpartialclassModify:System.Web.UI.Page{UserManagerusermgr=newUserManager();Usersuser=newUsers();protectedvoidPage_Load(objectsender,EventArgse){if(!Page.IsPostBack){main();}}privatevoidmain(){stringid=Request["id"];DataSetdt=usermgr.GetList(id);tbName.Text=dt.Tables[0].Rows[0]["name"].ToString();rblSex.Text=dt.Tables[0].Rows[0]["sex"].ToString();}protectedvoidbtnSubmit_Click(objectsender,EventArgse){user.name=tbName.Text;user.sex=rblSex.Text;}}DAL层publicboolUpdate(Usersmodel){StringBuilderstrSql=newStringBuilder();strSql.Append("updateInfoset");strSql.Append("name=@name,");strSql.Append("sex=@sex,");strSql.Append("whereid=@id");SqlParameter[]parameters={newSqlParameter("@name",SqlDbType.VarChar,50),newSqlParameter("@sex",SqlDbType.VarChar,50),parameters[0].Value=model.name;parameters[1].Value=model.sex;introws=DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);if(rows>0){returntrue;}else{returnfalse;}}BLL层publicboolUpdate(Usersmodel){returndal.Update(model);}
解决方案
解决方案二:
把sql语句放数据库里执行下看看有没有数据
解决方案三:
都没看到你界面层有调用Update的
解决方案四:
引用2楼chb345536638的回复:
都没看到你界面层有调用Update的
protectedvoidbtnSubmit_Click(objectsender,EventArgse){user.name=tbName.Text;user.sex=rblSex.Text;if(usermgr.Update(user)){Response.Write("<script>('修改成功!')</script>");}else{Response.Write("<script>('修改失败!')</script>");}Response.Redirect("view.aspx");}
解决方案五:
你都没有调用DAL层的Update方法,肯定不能保存数据到数据库了
解决方案六:
引用4楼u012012237的回复:
你都没有调用DAL层的Update方法,肯定不能保存数据到数据库了
调用了,我忘记粘上去了
解决方案七:
3楼是调用的
解决方案八:
updateInfosetname=@name,sex=@sexwhereid=@idSQL语句是这样的,是不是因为没有传值所以不能更新失败
解决方案九:
看你SQL语句没什么问题你看看值能不能取到都
解决方案十:
user的id没有赋值,而且在parameters时并没有对id这个参数进行任何的定义和取值
解决方案十一:
你这是新增一条数据应该是Insert吧.
解决方案十二:
strSql.Append("whereid=@id");//你的这个@id没给值,执行不报错?会断点不?VS工具的断点要会用,别来这里浪费论坛分
解决方案十三:
你都没有调用,何来的更新呢?
解决方案十四:
strSql.Append("name=@name,");strSql.Append("sex=@sex,");//@sex后面不应该有逗号。。。加断点看看update语句就明白了strSql.Append("whereid=@id");//@id你都没赋值啊。。加断点按F5再F11一步一步慢慢看
解决方案十五:
楼上的完全正确,楼主你先去学学调试了再来吧