我正在尝试从我的webapp连接到数据库以获取下拉列表的值,但不知怎的,我总是在con.Open上得到相同的错误。告诉我找不到网络名称!
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
string query = "SELECT HobbyId, Hobby, IsSelected FROM Hobbies";
//string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
using (SqlConnection con = new SqlConnection("server=localhost/testserver; database=MyDB.dbo; integrated security=true"))
{
using (SqlCommand cmd = new SqlCommand(query))
{
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
con.Open();
using (SqlDataReader sdr = cmd.ExecuteReader())
{
while (sdr.Read())
{
ListItem item = new ListItem();
item.Text = sdr["Hobby"].ToString();
item.Value = sdr["HobbyId"].ToString();
item.Selected = Convert.ToBoolean(sdr["IsSelected"]);
ddlHobbies.Items.Add(item);
}
}
con.Close();
}
}
ddlHobbies.Items.Insert(0, new ListItem("--Select Hobby--", "0"));
}
}
答案 0 :(得分:3)
您需要使用反斜杠(\
)而不是正斜杠(/
):server=localhost/testserver
应为server=localhost\testserver
。
您也可以使用简单的点(localhost
)替换.
:server=.\testserver
。
确保您的SQL Server实例实际上正在运行。您可以打开SQL Server配置管理器来检查它。
您还需要为您的实例启用至少一个网络协议(例如命名管道,TCP / IP或共享内存)。