asp.net无法打开数据库登录失败

时间:2015-07-12 03:47:54

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

我正在使用以下内容从数据库中检索数据,但SqlConnection将无法打开。它会在scon.Open()处抛出错误。我确信这是基本的,但我无法解决。

protected void Page_Load(object sender, EventArgs e) {   
    SqlConnection scon = new SqlConnection("Data Source = .\\SQLEXPRESS; Database = populate.mdf; Integrated Security = true; Initial Catalog = populate");   

    StringBuilder htmlString = new StringBuilder(); 

    if(!IsPostBack)
    {
        using (SqlCommand scmd = new SqlCommand())
        {
            scmd.Connection = scon;
            scmd.CommandType = CommandType.Text;
            scmd.CommandText = "SELECT * FROM populate";

            scon.Open();

            SqlDataReader articleReader = scmd.ExecuteReader();

            htmlString.Append("'Populate page:'");                

            if (articleReader.HasRows)
            {
                while (articleReader.Read())
                {
                    htmlString.Append(articleReader["dateTime"]);
                    htmlString.Append(articleReader["firstName"]);
                    htmlString.Append(articleReader["lastName"]);
                    htmlString.Append(articleReader["address"]);
                    htmlString.Append(articleReader["details"]);
                }

                populatePlaceHolder.Controls.Add(new Literal { Text = htmlString.ToString() });
                articleReader.Close();
                articleReader.Dispose();
            }
        }
    }
}

我正在使用此链接https://msdn.microsoft.com/en-us/library/jj653752(v=vs.110).aspx作为我的参考之一。如果这些信息有任何帮助,我也在使用SQL Server 2008 R2 Express。

以下是错误消息的一部分:

  

SqlException(0x80131904):无法打开请求的数据库“populate”   通过登录。登录失败。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

引自https://msdn.microsoft.com/en-us/library/jj653752(v=vs.110).aspx#sse,如果要将.mdf文件用作数据库,则应使用包含 AttacheDbFileName 的以下连接字符串。

<add name="ConnectionStringName"
    providerName="System.Data.SqlClient"
    connectionString="Data Source=.\SQLEXPRESS;AttachDbFileName=|DataDirectory|\DatabaseFileName.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True" />

答案 1 :(得分:0)

我解决了。所有连接字符串和其他代码都是正确的。数据库只需要额外关注就可以连接到Management Studio。