无法打开SqlConnection到数据库

时间:2014-07-13 21:18:08

标签: c# asp.net sql-server sql-server-2012-express

我是asp.net的新手,我正在尝试创建一个简单的登录页面,用于搜索在数据库中输入的用户名和密码。我创建了App_Data文件夹,其中有一个名为Database1.mdf的数据库。在该数据库中有一个名为users的表。

这是登录页面背后的代码:

protected void Page_Load(object sender, EventArgs e)
{
    if (IsPostBack)
    {
        string mcn = Request.Form["username"];
        string pass = Request.Form["pass"];
        string query = "SELECT * FROM users WHERE mcn = '" + mcn + "' AND pass = '" + pass + "'";
        string connectionstring = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=App_Data\Database1.mdf;Integrated Security=True";

        SqlConnection con = new SqlConnection(connectionstring);
        SqlDataAdapter ad = new SqlDataAdapter(query, con);
        con.Open();
        SqlCommand com = new SqlCommand(query, con);
        SqlDataReader data = com.ExecuteReader();
        bool found;
        found = (bool)data.Read();
        con.Close();

        if (found)
        {
            Session["user"] = true; 
        }

        Response.Redirect("Main.aspx");
    }
 }

当我运行该页面并提交调用此Page_Load的登录表单时,我收到此错误:

  

发生了'System.Data.SqlClient.SqlException'类型的异常   System.Data.dll但未在用户代码中处理

     

其他信息:尝试附加自动命名的数据库   对于文件App_Data \ Database1.mdf失败。具有相同名称的数据库   存在,或指定的文件无法打开,或者它位于UNC上   份额。

提前致谢!

1 个答案:

答案 0 :(得分:0)

好吧,我终于通过将所有内容移动到另一个类来解决它。这使得一切都非常有条理,我认为作为一个初学者,很难看到它并发现可能是语法错误。

感谢您的评论!