我正在使用以下内容从数据库中检索数据,但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” 通过登录。登录失败。
非常感谢任何帮助。
答案 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。