运算符"=="无法应用于"int"和"string"类型的操作数
private void txtLogin_Click(object sender, EventArgs e)
{
T_UsersTableAdapter adapter = new T_UsersTableAdapter();
强类型登录.DataSetUsers.T_UsersDataTable users = adapter.GetDataByUserName(txtUserName.Text);
if (users.Count <= 0)
{
MessageBox.Show("用户名错误!");
}
else
{
强类型登录.DataSetUsers.T_UsersRow user = users[0];
if (user.ErrorTimes > 3)
{
MessageBox.Show("错误次数过多!");
return;
}
if (user.Password==txtPassword.Text) //这里提示:运算符"=="无法应用于"int"和"string"类型的操作数,但是我检查了我数据的字段"Password"是nvarchar类型,而现在txtPassword也应该是string类型呀,这种问题应该是2边数据类型不相等,但是看起来已经相等了呀,是什么问题呢?
{
MessageBox.Show("登录成功!");
adapter.ResetErrorTimes(user.ID);
}
else
{
adapter.IncErrorTimesbyId(user.ID);
MessageBox.Show("密码错误!");
}
}
}
------解决方案--------------------txtPassword.Text 肯定是string类型的 那就是你的user.Password是int
------解决方案--------------------都进行 tostring() 看看
------解决方案--------------------两个都.ToString()一下.
------解决方案--------------------Password"是nvarchar类型,在数据库里才有nvarchar类型
user.Password肯定是int类型,你ToString()