Так что я работаю на создание отправке содержимого страницы, которая будет хранить вход пользователей в базу данных, вот код, который я до сих пор:SQL Строка подключения C# ASP NET
protected void submitData_Click(object sender, EventArgs e)
{
string userId = HttpContext.Current.User.Identity.Name;
int categoryId = Convert.ToInt32(categories.SelectedValue);
if (categoryId > 0 && content.Text != "" && description.Text != "")
{
using (SqlConnection connection = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename="C: \Users\Will\Documents\Visual Studio 2015\WebSites\inshort\App_Data\ASPNETDB.MDF";Integrated Security=True"))
{
SqlCommand cmd = new SqlCommand("INSERT INTO aspnet_newscontent (author, username, date, category, content, description) VALUES (@author, @username, @date, @category, @content, @description)");
cmd.CommandType = System.Data.CommandType.Text;
cmd.Connection = connection;
cmd.Parameters.AddWithValue("@author", nameInput.Text);
cmd.Parameters.AddWithValue("@username", userId);
cmd.Parameters.AddWithValue("@date", DateTime.Today);
cmd.Parameters.AddWithValue("@category", categoryId);
cmd.Parameters.AddWithValue("@content", content.Text);
cmd.Parameters.AddWithValue("@description", description.Text);
connection.Open();
cmd.ExecuteNonQuery();
}
}
else
{
errorLabel.Text = "Please fill in the required fields.";
}
}
Однако я получив сообщение о том, что строка соединения содержит недопустимый символ «\», что имеет смысл, но всякий раз, когда я перехожу к свойствам моей базы данных и смотрю на свойство Connection String, это то, что он говорит.
Я использую Microsoft Sql Server Express для локального размещения базы данных, если это что-то меняет. Кто-нибудь знает, как отформатировать эти строки подключения?
избежать двойных кавычек в строке, для дословной строки, используйте двойную * двойную * кавычку, как '@ "Источник данных = (LocalDB) \ MSSQLLocalDB; AttachDbFilename ="" C: \ Users \ Will \ Documents \ Visual Studio 2015 \ WebSites \ inshort \ App_Data \ ASPNETDB.MDF ""; Integr ated Security = True "' - ГОЛОСОВАТЬ, ЧТОБЫ ЗАКРЫТЬ КАК TYPO – Habib
Возможно, этот пост поможет людям с подобными проблемами научиться правильно использовать escape-символы. –
Есть много сообщений на SO для этого, этот вопрос можно рассматривать как дубликат http://stackoverflow.com/questions/1928909/can-i-escape-a-double-quote-in-a-verbatim -string-literal – Habib