登录不起作用

时间:2018-03-24 00:24:02

标签: c# sql wpf

所以,我试图登录表单,但我遇到了错误。 它没有继续,它只显示没有数据(如果用户名或密码不正确,我会提出错误消息,即使我已经设置正确)

这是我的代码

SqlConnection conn = new SqlConnection("Data Source=BRZAP\\MSSQLSERVERBTK; Initial Catalog=BrzAP; Integrated Security=True;");
try
{
    conn.Close();
    conn.Open();
    SqlCommand cmd = new SqlCommand(@"SELECT id,d_username,d_password FROM t_Login 
                            WHERE d_username=@usr AND 
                            d_password=@pw", conn);
    cmd.Parameters.AddWithValue("@usr", txtUID.ToString());
    cmd.Parameters.AddWithValue("@pw", txtP.ToString());
    SqlDataReader reader = cmd.ExecuteReader();
    if (reader.Read())
    {
       MessageBox.Show(reader["d_username"].ToString());
    }
    else
    {
        MessageBox.Show("no data");
    } 
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message.ToString());
    conn.Close();
}
finally
{
    conn.Close();
}

bellow是我在sql中拥有的数据的图片。 pic with data

1 个答案:

答案 0 :(得分:5)

使用txtUID.TexttxtP.Text代替txtUID.ToString()txtP.ToString()

cmd.Parameters.AddWithValue("@usr", txtUID.Text);
cmd.Parameters.AddWithValue("@pw", txtP.Text);

Text属性为您提供文本框中的实际值。但是当你在.ToString()控件上调用TextBox时,你会得到类似的内容:

  

System.Windows.Controls.Textbox

这意味着参数将始终不正确。

See the documentation on MSDN

相关问题