我正在建立一个注册页面,我需要做的一件事是检查提供的电子邮件是否已经存在。下面是我的代码:
// 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表。它肯定在那里,我刚刚创建了它,我可以在服务器资源管理器窗口中看到它:

另外,在我的连接字符串中有Initial Catalog=db_74;,所以它使用的是正确的数据库。
所以,我不知道可能出了什么问题。有什么想法吗?
发布于 2012-11-11 01:23:27
如果您使用的是SqlExpress,则连接字符串必须如下所示:
Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\db_74.mdf;Integrated Security=True;User Instance=Truehttps://stackoverflow.com/questions/13323643
复制相似问题