C#Command.ExecuteNonQuery();错误')'附近的语法不正确

时间:2016-03-02 17:35:06

标签: c# sql

尝试运行此代码时出现以下错误:

String query = "INSERT INTO dbo.Kunden (Kunden_ID, Anrede, Vorname, Nachname, Email, Telefonnummer, bevMessenger, NutzernameIP, Adresse, Ort, PLZ, Land, ) " +
                            "VALUES(@Kunden_ID, @Anrede, @Vorname, @Nachname, @Email, @Telefonnummer, @bevMessenger, @NutzernameIP, @Adresse, @Ort, @PLZ, @Land) ";
SqlCommand command = new SqlCommand(query, conn);
command.Parameters.Add("@Kunden_ID", Int32.TryParse(tb_Kunden_ID.Text, out parsedID));
command.Parameters.Add("@Anrede", cB_Kunden_Anrede.Text);
command.Parameters.Add("@Vorname", tb_Kunden_Vorname.Text);
command.Parameters.Add("@Nachname", tb_Kunden_Nachname.Text);
command.Parameters.Add("@Email", tb_kunden_email.Text);
command.Parameters.Add("@Telefonnummer", tb_kunden_telefon.Text);
command.Parameters.Add("@bevMessenger", cb_kunden_messenger.Text);
command.Parameters.Add("@NutzernameIP", tb_kunden_nutzername.Text);
command.Parameters.Add("@Adresse", tb_kunden_adresse.Text);
command.Parameters.Add("@Ort", tb_kunden_ort.Text);
command.Parameters.Add("@PLZ", Int32.TryParse(tb_kunden_plz.Text, out parsedplz));
command.Parameters.Add("Land", tb_kunden_land.Text);

if(alright == true)
{ 
    conn.Open();
    command.ExecuteNonQuery(); //<-- Error here
    conn.Close();

它说,标记的行有错误但在搜索网络后我无法找到答案。会很感激认真的建议。

2 个答案:

答案 0 :(得分:2)

您在 land 列名后添加了一个额外的逗号, 删除该逗号或尝试低于一个

INSERT INTO dbo.Kunden (Kunden_ID, Anrede, Vorname, Nachname, Email, Telefonnummer, bevMessenger, NutzernameIP, Adresse, Ort, PLZ, Land) " +
                            "VALUES(@Kunden_ID, @Anrede, @Vorname, @Nachname, @Email, @Telefonnummer, @bevMessenger, @NutzernameIP, @Adresse, @Ort, @PLZ, @Land)

答案 1 :(得分:1)

在sql查询中删除,后的最终Land,并在@参数中添加Land

String query = "INSERT INTO dbo.Kunden (Kunden_ID, Anrede, Vorname, Nachname, Email, Telefonnummer, bevMessenger, NutzernameIP, Adresse, Ort, PLZ, Land) " + ...;

...

command.Parameters.Add("@Land", tb_kunden_land.Text);