从“用户”表中读取时,对象名称“用户”无效

时间:2012-11-10 16:11:28

标签: c# asp.net sql-server

我正在构建注册页面,我需要做的一件事就是检查提供的电子邮件是否已经存在。这是我的代码:

// Check if email already exists in the database
cn.Open();
SqlCommand Command = new SqlCommand("SELECT Email FROM Users WHERE Email = @Email", cn);
Command.Parameters.Add("@Email", SqlDbType.NVarChar).Value = _Email;

SqlDataReader Reader = Command.ExecuteReader(CommandBehavior.CloseConnection);
Reader.Read();
if (Reader.HasRows)
{
    // Email already exists
    Reader.Close();
    Feedback.Text = "That email is already in use, please use another";
}
else
{
    // Doesn't exist, proceed
}

运行此代码时,我会在COmmand.ExecuteReader()行上触发以下异常:

System.Data.SqlClient.SqlException: Invalid object name 'Users'.

据我所知,这意味着它无法找到Users表。它肯定存在,我刚刚创建它,我可以在Server Explorer窗口中看到它:

Screenshot

此外,在我的连接字符串中,我有Initial Catalog=db_74;所以它正在使用正确的数据库。

所以,我对可能出现的问题感到茫然。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果你使用的是SqlExpress你的连接字符串应该是这样的:

Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\db_74.mdf;Integrated Security=True;User Instance=True