Не удается подключиться к базе данных SQL из веб-формы C # - PullRequest
1 голос
/ 26 января 2012

Я пробовал несколько разных строк подключения и всегда получаю одну и ту же ошибку: Формат строки инициализации не соответствует спецификации, начиная с индекса 22.

using System;
using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.Sql; using System.Data.SqlClient;

namespace WebApplication1 { public partial class WebForm1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) {

}

protected void Button1_Click(object sender, EventArgs e)
{
    SqlConnection connection = new SqlConnection("Data Source=Brandon-PC\brandon;Initial Catalog=STATUS;integrated security=SSPI;persist security info=False;Trusted_Connection=Yes;");
    connection.Open();

    string clientname = TextBox1.Text;
    string sqlquery = ("INSERT INTO [STATUS] (Client_Name) VALUES ('" + TextBox1.Text + "')");
    SqlCommand command = new SqlCommand(sqlquery, connection);
    command.Parameters.AddWithValue("Client_Name", clientname);
    command.ExecuteNonQuery();
        }
    }
}

1 Ответ

3 голосов
/ 26 января 2012

Вам необходимо указать обратную косую черту:

SqlConnection connection = 
   new SqlConnection(@"Data Source=Brandon-PC\brandon;Initial Catalog=STATUS;integrated security=SSPI;persist security info=False;Trusted_Connection=Yes;"); 

или

SqlConnection connection = 
   new SqlConnection("Data Source=Brandon-PC\\brandon;Initial Catalog=STATUS;integrated security=SSPI;persist security info=False;Trusted_Connection=Yes;"); 

Кроме того, ваш код должен быть:

string clientname = TextBox1.Text; 
string sqlquery = "INSERT INTO [STATUS] (Client_Name) VALUES (@Client_Name)"; 
SqlCommand command = new SqlCommand(sqlquery, connection); 
command.Parameters.AddWithValue("@Client_Name", clientname); 
command.ExecuteNonQuery(); 

[Примечание: я полагаю, что в текстовых параметрах запроса все в порядке с undescores; Я никогда не использую их.]

[Также обратите внимание: вам не нужны integrated security=SSPI И Trusted_Connection=Yes. Это синонимы; достаточно одного.]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...