sql-server 如果找不到用户名,如何检查数据库

bxgwgixi  于 2022-10-31  发布在  其他
关注(0)|答案(1)|浏览(241)
  1. string constr = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\jettp\Downloads\MockTest\MockTest\Database1.mdf;Integrated Security=True";
  2. using (SqlConnection con = new SqlConnection(constr))
  3. {
  4. using (SqlCommand cmd = new SqlCommand("SELECT Name, Weight FROM MyWeight where Name ='" + txt_Name.Text + "'"))
  5. {
  6. cmd.CommandType = CommandType.Text;
  7. cmd.Connection = con;
  8. con.Open();
  9. using (SqlDataReader sdr = cmd.ExecuteReader())
  10. {
  11. if (txt_Name.Text != null)
  12. {
  13. sdr.Read();
  14. MessageBox.Show("Username is found");
  15. txt_Name.Text = sdr["Name"].ToString();
  16. txt_Weight.Text = sdr["Weight"].ToString();
  17. con.Close();
  18. }
  19. else
  20. {
  21. lbl_WarningMsg.Text = "Name not found";
  22. con.Close();
  23. }
  24. }
  25. }
  26. }

我试着用这个命令来搜索用户名,它是在找不到数据库,但数据库消息一直说,该名称是在数据库中找到的.这是我得到的错误:
系统操作无效异常:'没有数据时读取尝试无效'

kdfy810k

kdfy810k1#

因为if条件始终为真,所以您将得到Username is found。请将if条件更改为:

  1. if (sdr.HasRows)
  2. {
  3. //your code
  4. }

相关问题