C# Asp.net登录控制错误:数据库“”不存在。确保输入的名称正确
使用工具栏上的登录控件:我不确定在尝试登录时为什么会出现此错误。数据库确实存在:C# Asp.net登录控制错误:数据库“”不存在。确保输入的名称正确,c#,asp.net,sql-server,C#,Asp.net,Sql Server,使用工具栏上的登录控件:我不确定在尝试登录时为什么会出现此错误。数据库确实存在: {"Database 'Data Source=(LocalDB)\\v11' does not exist. Make sure that the name is entered correctly."} Login.aspx.cs protected void ValidateUser(object sender, AuthenticateEventArgs e) { int use
{"Database 'Data Source=(LocalDB)\\v11' does not exist. Make sure that the name is entered correctly."}
Login.aspx.cs
protected void ValidateUser(object sender, AuthenticateEventArgs e)
{
int userId = 0;
string constr = ConfigurationManager.ConnectionStrings["LoginConnectionString"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand(constr))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Username", Login1.UserName);
cmd.Parameters.AddWithValue("@Password", Login1.Password);
cmd.Connection = con;
con.Open();
userId = Convert.ToInt32(cmd.ExecuteScalar());
con.Close();
}
switch (userId)
{
case -1:
Login1.FailureText = "Username and/or password is incorrect.";
break;
case -2:
Login1.FailureText = "Account has not been activated.";
break;
default:
FormsAuthentication.RedirectFromLoginPage(Login1.UserName, Login1.RememberMeSet);
break;
}
}
}
我有一个用户名和密码两列的用户表。我正在使用visual Studio 2014编写c和ASP.net Web表单以及SQL Server Express 2012
堆栈跟踪
源错误:第34行
您的连接字符串看起来不正确。对于localdb,您应该遵循以下格式:
<add name="ConnectionStringName"
providerName="System.Data.SqlClient"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFileName=|DataDirectory|\DatabaseFileName.mdf;InitialCatalog=DatabaseName;Integrated Security=True;MultipleActiveResultSets=True" />
LoginConnectionString存储在哪里?你能把代码/确认文件拿出来吗?此错误表示此connectionstring中没有数据库,这可能意味着connectionstring为空谢谢我现在检查:这是配置中的我的连接字符串:如果您使用的是DataDirectory功能,localdb应该位于App_Data文件夹中。如果没有,您需要设置它。是的,mdf文件是我的App_数据文件夹,名为WebApps.mdf,但当我打开服务器资源管理器时,名为LoginConnectionString???LoginConnectionString是您为连接字符串指定的名称。您在服务器资源管理器中看到了什么?未遵循。我的数据库已将其自身重命名为我的connectionstring的名称。也许应该重做?
Line 32: cmd.Connection = con;
Line 33: con.Open();
Line 34: userId = Convert.ToInt32(cmd.ExecuteScalar());
Line 35: con.Close();
Line 36: }
<add name="ConnectionStringName"
providerName="System.Data.SqlClient"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFileName=|DataDirectory|\DatabaseFileName.mdf;InitialCatalog=DatabaseName;Integrated Security=True;MultipleActiveResultSets=True" />
AppDomain.CurrentDomain.SetData("DataDirectory", "C:\myDB");