weixin_35728460
抗压吧务团队1
采纳率88.9%
2016-11-24 04:59

问一下这段代码有什么问题啊

已采纳

获取值的标签是这个

  <input type="password" id="newpwd" runat="server" /></td>

点击事件的代码是这些

             string name = Session["UserName"].ToString();
            string pwd = newpwd.Value.ToString();
            string sqlstr = "update UserInfo set Password='" + pwd + "'where Username ='" + name + "'";
            SqlConnection conn = DBConnection.myconn();
            conn.Open();
            SqlCommand cmd = new SqlCommand(sqlstr, conn);
            cmd.ExecuteNonQuery();
            cmd.Dispose();
            conn.Close();

为什么这段会把数据里的数据update成空啊

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答

  • guwei4037 极简吧 5年前

    "update UserInfo set Password='" + pwd + "'where Username ='" + name + "'"; 可能你的pwd变量获取的值为空,所以更新之后为空了。

    sqlserver可以用profiler监控操作时的sql语句,看一下执行时的sql具体是什么就知道原因了。http://www.cnblogs.com/guwei4037/p/5660888.html

    点赞 评论 复制链接分享
  • PharaohShi DavidNineRoc 5年前

    where前面加一个空格

    点赞 2 评论 复制链接分享
  • HGLCHY HGLCHY 5年前

    打断点,然后再把sql贴出来看看

    点赞 评论 复制链接分享
  • m86872125 HyperMa0 5年前

    在第4行代码设置断点,程序运行起来,看看sqlstr这个语句是不是你想的那样,如果不是,看看前面2个变量哪个有问题

    点赞 评论 复制链接分享
  • liud1 ServiceGood 5年前

    首先更新肯定表里事先有值。你要看看 pwd和 name是否有值,如果有值 看看 是不是String类型 。 update成空的话那就是不报错。只可能是 参数本身为空。 并且你这个update没加条件。 可是更新全表 小心了

    点赞 评论 复制链接分享

相关推荐