专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > ASP.NET

Access数据库 PassWord字段名 很头疼的改密码有关问题

发布时间:2011-06-22 17:12:03 文章来源:www.iduyao.cn 采编人员:星星草
Access数据库 PassWord字段名 很头疼的改密码问题
C# code
/// <summary>
        /// 修改一条密码
        /// </summary>
        public bool UpdatePassWord(string UserName, string PassWord)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("update Admin set ");
            strSql.Append("[PassWord]=@PassWord");
            strSql.Append(" where UserName=@UserName");
            OleDbParameter[] parameters = {
                    new OleDbParameter("@UserName", OleDbType.VarChar,50),
                    new OleDbParameter("@PassWord", OleDbType.VarChar,50)};
            parameters[0].Value = UserName;
            parameters[1].Value = PassWord;
            int rows = DBUtility.DbHelperAccess.ExecuteNonQuery(strSql.ToString(), CommandType.Text, parameters);
            if (rows > 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }


调用该方法时不能更改密码

当将:strSql.Append("[PassWord]=@PassWord");
改为:strSql.Append("[PassWord]='1111'");

执行成功....  

于是认为是参数命名问题。

可当改了:@PassWord
为:@_PassWord

还是不能改密码。

大虾们求解,这是为什么呢?

------解决方案--------------------
改成试试

StringBuilder strSql = new StringBuilder();
strSql.Append("update Admin set ");
strSql.Append("[PassWord]=@PassWord");
strSql.Append(" where UserName=@UserName");
OleDbParameter[] parameters = {
new OleDbParameter("@PassWord", OleDbType.VarChar,50),
new OleDbParameter("@UserName", OleDbType.VarChar,50)
};
parameters[0].Value = PassWord;
parameters[1].Value = UserName;

------解决方案--------------------
顺序问题,参数名和赋值要一致
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: