public partial class HR_SetPassword : Form
{
public string AdminName { get;set;}
public HR_SetPassword()
{
InitializeComponent();
} private void btnxiugai_Click(object sender, EventArgs e)
{
//这样定义也不是报错
//string AdminName = this.AdminName; GetByAdminName存储过程的名字
Administrator admin = new AdministratorBLL().GetByAdminName(this.AdminName);
if (txbyuanshimima.Text == "" || txbnewmima.Text == "" ||txbok.Text == "")
{
MessageBox.Show("密码输入不能为空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
txbyuanshimima.Text = "";
txbnewmima.Text = "";
txbok.Text = "";
}
else if (admin.AdminPwd != txbyuanshimima.Text.Trim())
{
MessageBox.Show("用户密码不正确!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
txbyuanshimima.Text = "";
txbnewmima.Text = "";
txbok.Text = "";
}
else if (txbnewmima.Text.Trim() != txbok.Text.Trim())
{
MessageBox.Show("密码输入不一致!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
txbyuanshimima.Text = "";
txbnewmima.Text = "";
txbok.Text = "";
}
else if (AdminName != null)
{
Administrator ad = new Administrator();
ad.AdminName = this.AdminName;
ad.AdminPwd = txbnewmima.Text.Trim();
if (new AdministratorBLL().BllUpdata(ad) > 0)
{
MessageBox.Show("修改成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.None);
this.Close();
}
else
{
MessageBox.Show("修改失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.None);
txbyuanshimima.Text = "";
txbnewmima.Text = "";
txbok.Text = "";
}
}
}
}
}过程或函数 '
报这个错小弟一直困惑GetByAdminName' 需要参数 '@AdminName',但未提供该参数。 this.AdminName 不是告诉他的值了吗?怎么还是出错呢?前辈们指点下。WinForm密码
這句下斷點,自己看下this.AdminName的值是多少
GetByAdminName
public Administrator GetByAdminName(string adminName)
{
//先实例
Administrator admin = new Administrator();
//commandText命令文本
string commandText = "GetByAdminName";
SqlParameter[] commandParameters ={
new SqlParameter("@AdminName",adminName)
};
//ExecuteReader的read()方法,它就是读取一个表的记录,即执行读,每次调用都是返回一行的结果集
//一般用在判断这行的结果集是否有效果,有的话就执行下面的操作。一句话:一般用于判断返回的结果。
//CommandType.StoredProcedure 执行类型为 存储过程
//commandParameters 存储过程中使用的参数
//调用 SQLHelper 类中的 ExecuteReader方法 来执行 存储过程
SqlDataReader dataReader = SQLHelper.ExecuteReader(SQLHelper.connectionString, CommandType.StoredProcedure, commandText, commandParameters);
if (!dataReader.HasRows)//HasRows表示的是从数据库读出来的数据集dataReader中是否存在数据,它的作用是用来判断数据集是否为空,执行的结果为 true/false
{
admin = null;
}
else
{
if (dataReader.Read())
{
admin.AdminName = (string)dataReader["AdminName"];
admin.AdminPwd = (string)dataReader["AdminPwd"];
admin.EmployeeID = (int)dataReader["EmployeeID"];
}
}
dataReader.Close();
return admin;
}