System.Data.SqlClient.SqlException (0x80131904): неправильный синтаксис рядом с ')'

Я пытался отладить часть кода, и до сих пор мне это очень не удалось.

Я продолжаю получать эту ошибку

System.Data.SqlClient.SqlException (0x80131904): неправильный синтаксис рядом с ')'

и я не вижу, где ошибка.

Код ниже, просмотрев различные ответы на этом сайте и просмотрев примеры. Ситуация такова, что я пишу программу, которая обращается к базе данных и может добавлять и сохранять данные в эту базу данных. Он расположен на сервере - хотя это на моем ноутбуке.

Я написал, переписал и скопировал строку подключения, чтобы убедиться, что в ней нет ошибок, и даже закинул копию строки в word и сравнил ее с той, что есть в самой кодировке, но безрезультатно.

public partial class AddingClients : Form
{
    public AddingClients()
    {
        InitializeComponent();
    }

    String CompanyName2;
    String ClientName2;
    String CompanyAddress12;
    String CompanyAddress22;
    String CompanyAddress32;
    String CompanyTown2;
    String CompanyPostCode2;
    String TelephoneNumber2;
    String CompanyEMail2;
    String CompanyNotes2;
    String ClientReference2;

    public SqlConnection con;

    public void connection()
    {
        String connectionstr = @"Data Source=ACER\PATTESTSERVER;Initial Catalog=PatTest;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False;";
        con = new SqlConnection(connectionstr);
        con.Open();
    }

    private void Finish_Click(object sender, EventArgs e)
    {
        ClientReference2 = Id.Text;
        CompanyName2 = CompanyName.Text;
        ClientName2 = ClientName.Text;
        CompanyAddress12 = CompanyAddress1.Text;
        CompanyAddress22 = CompanyAddress2.Text;
        CompanyAddress32 = CompanyAddress3.Text;
        CompanyTown2 = CompanyTown.Text;
        CompanyPostCode2 = CompanyPostCode.Text;
        TelephoneNumber2 = TelephoneNumber.Text;
        CompanyEMail2 = CompanyEMail.Text;
        CompanyNotes2 = CompanyNotes.Text;

        String connectionstr = @"Data Source=ACER\PATTESTSERVER;Initial Catalog=PatTest;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False;";
        con = new SqlConnection(connectionstr);
        con.Open();

        SqlCommand cmd = new SqlCommand("INSERT INTO ClientTable(Id, ClientName, CompanyName, CompanyAddress1, CompanyAddress2, CompanyAddress3, CompanyTown, CompanyPostCode, TelephoneNumber, CompanyEMail, CompanyNotes,) VALUES(@parameter1, @parameter2, @parameter3, @parameter4, @parameter5, @parameter6, @parameter7, @parameter8, @parameter9, @parameter10, @parameter11,)", con);

        cmd.Parameters.AddWithValue("@parameter1", ClientReference2);
        cmd.Parameters.AddWithValue("@parameter2", ClientName2);
        cmd.Parameters.AddWithValue("@parameter3", CompanyName2);
        cmd.Parameters.AddWithValue("@parameter4", CompanyAddress12);
        cmd.Parameters.AddWithValue("@parameter5", CompanyAddress22);
        cmd.Parameters.AddWithValue("@parameter6", CompanyAddress32);
        cmd.Parameters.AddWithValue("@parameter7", CompanyTown2);
        cmd.Parameters.AddWithValue("@parameter8", CompanyPostCode2);
        cmd.Parameters.AddWithValue("@parameter9", TelephoneNumber2);
        cmd.Parameters.AddWithValue("@parameter10", CompanyEMail2);
        cmd.Parameters.AddWithValue("@parameter11", CompanyNotes2);

        cmd.ExecuteNonQuery();

        //this method moves to the next screen.
        this.Hide();
        Asset M1 = new Asset();
        M1.Show();
    }

    private void SaveandNext_Click(object sender, EventArgs e){

        ClientReference2 = Id.Text;
        CompanyName2 = CompanyName.Text;
        ClientName2 = ClientName.Text;
        CompanyAddress12 = CompanyAddress1.Text;
        CompanyAddress22 = CompanyAddress2.Text;
        CompanyAddress32 = CompanyAddress3.Text;
        CompanyTown2 = CompanyTown.Text;
        CompanyPostCode2 = CompanyPostCode.Text;
        TelephoneNumber2 = TelephoneNumber.Text;
        CompanyEMail2 = CompanyEMail.Text;
        CompanyNotes2 = CompanyNotes.Text;

        String connectionstr = @"Data Source=ACER\PATTESTSERVER;Initial Catalog=PatTest;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False;";
        con = new SqlConnection(connectionstr);
        con.Open();

        SqlCommand cmd = new SqlCommand("INSERT INTO ClientTable(Id, ClientName, CompanyName, CompanyAddress1, CompanyAddress2, CompanyAddress3, CompanyTown, CompanyPostCode, TelephoneNumber, CompanyEMail, CompanyNotes,) VALUES(@parameter1, @parameter2, @parameter3, @parameter4, @parameter5, @parameter6, @parameter7, @parameter8, @parameter9, @parameter10, @parameter11,)", con);

        cmd.Parameters.AddWithValue("@parameter1", ClientReference2);
        cmd.Parameters.AddWithValue("@parameter2", ClientName2);
        cmd.Parameters.AddWithValue("@parameter3", CompanyName2);
        cmd.Parameters.AddWithValue("@parameter4", CompanyAddress12);
        cmd.Parameters.AddWithValue("@parameter5", CompanyAddress22);
        cmd.Parameters.AddWithValue("@parameter6", CompanyAddress32);
        cmd.Parameters.AddWithValue("@parameter7", CompanyTown2);
        cmd.Parameters.AddWithValue("@parameter8", CompanyPostCode2);
        cmd.Parameters.AddWithValue("@parameter9", TelephoneNumber2);
        cmd.Parameters.AddWithValue("@parameter10", CompanyEMail2);
        cmd.Parameters.AddWithValue("@parameter11", CompanyNotes2);

        cmd.ExecuteNonQuery();

        this.Hide();
        AddingClients M1 = new AddingClients();
        M1.Show();//Saves the current data then goes to the next record to be tested.

person Eli Gourdie    schedule 22.10.2014    source источник


Ответы (1)


У вас есть лишняя запятая перед закрывающей ) в списке столбцов и VALUES разделах:

SqlCommand cmd = new SqlCommand("INSERT INTO ClientTable(Id, ClientName, CompanyName, CompanyAddress1, CompanyAddress2, CompanyAddress3, CompanyTown, CompanyPostCode, TelephoneNumber, CompanyEMail, 

 CompanyNotes,) 
            ****

VALUES(@parameter1, @parameter2, @parameter3, @parameter4, @parameter5, @parameter6, @parameter7, @parameter8, @parameter9, @parameter10, 

 @parameter11,)", con);
            ****

Удалите это, и вы должны быть в порядке

person marc_s    schedule 22.10.2014