首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

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

2012-03-18 
Access数据库 PassWord字段名 很头疼的改密码问题C# code/// summary/// 修改一条密码/// /summarypub

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;

[解决办法]
顺序问题,参数名和赋值要一致

热点排行