如何在 C# 中修复 "Incorrect syntax near the keyword 'Function'."

How to fix "Incorrect syntax near the keyword 'Function'." in c#

我正在尝试将我的数据库设置为与我的应用程序一起使用。但是我收到这个错误, 每次我尝试将数据插入数据库时​​。

System.Data.SqlClient.SqlException

Message=Incorrect syntax near the keyword 'Function'.
Source=.Net SqlClient Data Provider

private void insertBtn_Click(object sender, EventArgs e)
{
    conn.Open();
    SqlCommand cmd = new SqlCommand("insert into dbo.Users" + "(Firstname, MiddleName, Lastname,DateofBirth, Nationality, Tshirtsize, Poloshirtsize, Jacketsize, Pantssize, Shoessize, Street, Street2, City, ZipCode, Country, Homephonenumber, Mobilephonenumber, Alternativemobilephonenumber, Workphonenumber, Faxnumber, Emailaddress, Alternativeemailaddress, Skypecontactinformation, Facebooknameorprofilelink, InternationalAirport, DomesticAirportNearest, Function, Secondfunction, Level, Zone, Examinationdate, Examinationlocation, Examiner1, Examiner2)values(@Firstname,@Lastname,@DateofBirth, @Nationality, @Tshirtsize, @Poloshirtsize, @Jacketsize, @Pantssize, @Shoessize, @Street, @Street2, @City, @ZipCode, Country, @Homephonenumber, @Mobilephonenumber,@Alternativemobilephonenumber, @Workphonenumber, @Faxnumber, @Emailaddress, @Alternativeemailaddress, @Skypecontactinformation, @Facebooknameorprofilelink, @InternationalAirport, @DomesticAirportNearest, @Function, @Secondfunction, @Level, Zone, @Examinationdate, @Examinationlocation, @Examiner1, @Examiner2)", conn);
    cmd.Parameters.AddWithValue("@Firstname", firstname.Text);
    cmd.Parameters.AddWithValue("@Lastname", lastname.Text);
    cmd.Parameters.AddWithValue("@MiddleName", middlename.Text);
    cmd.Parameters.AddWithValue("@DateofBirth", bunifuDatePickerOfBirth.Text);
    cmd.Parameters.AddWithValue("@Nationality", nationality.Text);
    cmd.Parameters.AddWithValue("@Tshirtsize", tshirtSize.Text);
    cmd.Parameters.AddWithValue("@Poloshirtsize", poloshirts.Text);
    cmd.Parameters.AddWithValue("@Jacketsize", jacketSize.Text);
    cmd.Parameters.AddWithValue("@Pantssize", pantsSize.Text);
    cmd.Parameters.AddWithValue("@Shoessize", shoesSize.Text);
    cmd.Parameters.AddWithValue("@Street", street.Text);
    cmd.Parameters.AddWithValue("@Street2", street2.Text);
    cmd.Parameters.AddWithValue("@City", city.Text);
    cmd.Parameters.AddWithValue("@ZipCode", zip.Text);
    cmd.Parameters.AddWithValue("@Country", country.Text);
    cmd.Parameters.AddWithValue("@Homephonenumber", homePhone.Text);
    cmd.Parameters.AddWithValue("@Mobilephonenumber", mobilePhone.Text);
    cmd.Parameters.AddWithValue("@Alternativemobilephonenumber", alterMobile.Text);
    cmd.Parameters.AddWithValue("@Workphonenumber", workPhone.Text);
    cmd.Parameters.AddWithValue("@Faxnumber", faxNum.Text);
    cmd.Parameters.AddWithValue("@Emailaddress", email.Text);
    cmd.Parameters.AddWithValue("@Alternativeemailaddress", alterEmail.Text);
    cmd.Parameters.AddWithValue("@Skypecontactinformation", skypeContact.Text);
    cmd.Parameters.AddWithValue("@Facebooknameorprofilelink", facebook.Text);
    cmd.Parameters.AddWithValue("@InternationalAirport", InternationalAirport.Text);
    cmd.Parameters.AddWithValue("@DomesticAirportNearest", DomesticAirport.Text);
    cmd.Parameters.AddWithValue("@Function", function.Text);
    cmd.Parameters.AddWithValue("@Secondfunction", secondFun.Text);
    cmd.Parameters.AddWithValue("@Level", Level.Text);
    cmd.Parameters.AddWithValue("@Zone", Zone.Text);
    cmd.Parameters.AddWithValue("@Examinationdate", examDate.Text);
    cmd.Parameters.AddWithValue("@Examinationlocation", examLocation.Text);
    cmd.Parameters.AddWithValue("@Examiner1", examiner1.Text);
    cmd.Parameters.AddWithValue("@Examiner2", examiner2.Text);

    cmd.ExecuteNonQuery();
    conn.Close();

    firstname.Text = "";
    middlename.Text = "";
    lastname.Text = "";
    street.Text = "";
    street2.Text = "";
    city.Text = "";
    zip.Text = "";
    homePhone.Text = "";
    mobilePhone.Text = "";
    alterMobile.Text = "";
    skypeContact.Text = "";
    facebook.Text = "";
    InternationalAirport.Text = "";
    examDate.Text = "";
    examiner1.Text = "";
    examiner2.Text = "";

    displayData();
}

我试着把这些词写在一起,因为我认为它们是 导致错误。

尝试更改此行中的单词 functioncmd.Parameters.AddWithValue("@Function", function.Text);

DomesticAirportNearest, --> Function, Secondfunction,

function 是保留关键字。

如果您使用 MySql

,则需要使用反引号将其转义

DomesticAirportNearest, `Function`, Secondfunction,

但由于异常显示 System.Data.SqlClient.SqlException 所以我假设它的 Sql 服务器。如果它的 Sql 服务器你需要使用 []

DomesticAirportNearest, [Function], Secondfunction,