我试图在asp.net中使用sql
连接到我的数据库,但我不能。它告诉我服务器名称有错误,因为下面代码中的服务器名称有斜杠,但这是我的实际服务器名称。
我怎么解决这个问题?我正在使用C#
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection("Server=ALLOOLATY\JASMINE;Integrated Security=SSPI;Database=toys;");
try
{
conn.Open();
SqlCommand comm = new SqlCommand("SELECT name, id FROM product1", conn);
SqlDataReader reader = comm.ExecuteReader();
while (reader.Read())
{
employeesLabel.Text += reader["name"] + "<br />";
}
reader.Close();
}
答案 0 :(得分:2)
反斜杠字符\
是一个特殊字符,如果你想在字符串中使用它,你需要像\\
一样进行转义:
"Server=ALLOOLATY\\JASMINE;Integrated Security=SSPI;Database=toys;"
或者您可以通过在@
前加上
@"Server=ALLOOLATY\JASMINE;Integrated Security=SSPI;Database=toys;"
此外,它看起来不像一个有效的连接字符串。试试这个:
@"Data Source=ALLOOLATY\JASMINE;Initial Catalog=toys;Integrated Security=True"
答案 1 :(得分:1)
不要在代码中存储连接字符串。移动数据库服务器将需要代码更新和部署。在web.config中存储连接字符串。见How to: Read Connection Strings from the Web.config File。我还鼓励通过SqlConnectionStringBuilder
路由已配置的连接字符串进行清理。
SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder(
connectionStrings.ConnectionStrings["MyConnectionString"]);
using (SqlConnection conn = new SqlConnection(scsb.ConnectionString);
{
conn.Open();
using (SqlCommand comm = new SqlCommand("SELECT name, id FROM product1", conn))
{
using (SqlDataReader reader = comm.ExecuteReader())
{
while (reader.Read())
{
...
}
}
}
}
答案 2 :(得分:0)
在服务器名称中使用双斜杠代替单斜杠:
SqlConnection conn = new SqlConnection("Server=ALLOOLATY\\JASMINE;Integrated Security=SSPI;Database=toys;");