我正在尝试创建一个登录页面,我想在其中使用一个密码为不同用户登录,并且用户也可以拥有自己的密码。问题是我可以使用为用户分配的密码登录,但是无法使用设置的唯一密码登录。这是代码...
namespace WindowsFormsApp2
{
public partial class Form1 : Form
{
public SqlConnection con = new SqlConnection(@"server =10.1.1.1 ; database=loajsh;UID=kajskdhj;password=akhskhd");
public Form1()
{
InitializeComponent();
}
private void login(object sender, EventArgs e)
{
string username="";
string password="";
string local = "unique";
try
{
con.Open();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
SqlCommand con1 = new SqlCommand("select userid,upassword from user_login where userid = '" + tb1.Text.Trim() + "' and upassword = '" + tb2.Text.Trim() + "'", con);
SqlDataReader rd = con1.ExecuteReader();
while (rd.Read())
{
username = rd[0].ToString();
password = rd[1].ToString();
}
if ((tb1.Text == username && tb2.Text== password) || (tb1.Text == username && tb2.Text == local))
{
MessageBox.Show("username and password is correct");
}
// if ((tb1.Text==username && tb2.Text==password))
//{
// MessageBox.Show("username and password is correct");
//}
else
{
MessageBox.Show("There is a mismatch");
}
con.Close();
}
}
}
答案 0 :(得分:1)
错误是我将textbox 2参数传递给SQL语句并绘制出结果。
我犯了一个Sql语句错误。
(“从user_login中选择userid,大写字母,其中userid ='“ + tb1.Text.Trim()+”'“,con)。
此经编辑的行帮助我解决了该问题。这只能通过用户名进行选择,其余的if子句会起作用。