C# c文本框到数据库-错误

C# c文本框到数据库-错误,c#,database,syntax,textbox,C#,Database,Syntax,Textbox,我正在编写一个程序,向您发送textbox。数据库表的文本是werknemers 但我得到了一个错误,我认为它是来自数据库,但我不确定 以下是我的错误截图: 以下是数据库中我的表的屏幕截图: 很抱歉,您不能或不知道列名,但语言为荷兰语 我认为nvarchar有问题 这是我的密码: private void btnOpslaanwerknemergegevens_Click(object sender, EventArgs e) { SqlCommand scmdWerknemergege

我正在编写一个程序,向您发送textbox。数据库表的文本是werknemers

但我得到了一个错误,我认为它是来自数据库,但我不确定

以下是我的错误截图:

以下是数据库中我的表的屏幕截图:

很抱歉,您不能或不知道列名,但语言为荷兰语

我认为nvarchar有问题

这是我的密码:

private void btnOpslaanwerknemergegevens_Click(object sender, EventArgs e)
{
    SqlCommand scmdWerknemergegevens;
    scmdWerknemergegevens = new SqlCommand("insert into werknemers(naam, voornaam, straat, huisnr, postcode, gemeente, burgerlijkestand, geboorte_datum, kinderen_ten_laste, afdeling, in_dienst_sinds, gewest, minder_valide, minder_valide_partner, minder_valide_kinderen, inkomen_partner, [e-mail], tel_nr, gsm_nr) values (@naam, @voornaam, @straat, @huisnr, @postcode, @gemeente, @burgerlijkestand, @geboorte_datum, @kinderen_ten_laste, @afdeling, @in_dienst_sinds, @gewest, @minder_valide, @minder_valide_partner, @minder_valide_kinderen, @inkomen_partner, @[e-mail], @tel_nr, @gsm_nr)",loonberekening);

    scmdWerknemergegevens.Parameters.AddWithValue("@naam", txtNaam.Text);
    scmdWerknemergegevens.Parameters.AddWithValue("@voornaam", txtVoornaam.Text);
    scmdWerknemergegevens.Parameters.AddWithValue("@straat", txtStraat.Text);

    scmdWerknemergegevens.Parameters.AddWithValue("@huisnr", txtStraatnr.Text);
    scmdWerknemergegevens.Parameters.AddWithValue("@postcode", txtPostcode.Text);
    scmdWerknemergegevens.Parameters.AddWithValue("@gemeente", txtGemeente.Text);
    scmdWerknemergegevens.Parameters.AddWithValue("@burgerlijkestand", txtStand.Text);
    scmdWerknemergegevens.Parameters.AddWithValue("@geboorte_datum", txtGeboortedatum.Text);
    scmdWerknemergegevens.Parameters.AddWithValue("@kinderen_ten_laste", txtKinderentenlaste.Text);
    scmdWerknemergegevens.Parameters.AddWithValue("@afdeling", txtAfdeling.Text);
    scmdWerknemergegevens.Parameters.AddWithValue("@in_dienst_sinds", txtIndien.Text);
    scmdWerknemergegevens.Parameters.AddWithValue("@gewest", txtGewest.Text);
    scmdWerknemergegevens.Parameters.AddWithValue("@minder_valide", cbxValide.Text);
    scmdWerknemergegevens.Parameters.AddWithValue("@minder_valide_partner", cbxPartner.Text);
    scmdWerknemergegevens.Parameters.AddWithValue("@minder_valide_kinderen", txtHoeveelvalidekinderen.Text);
    scmdWerknemergegevens.Parameters.AddWithValue("@inkomen_partner", txtInkomenpartner.Text);
    scmdWerknemergegevens.Parameters.AddWithValue("@[e-mail]", txtEmail.Text);
    scmdWerknemergegevens.Parameters.AddWithValue("@tel_nr", txtTelefoonnr.Text);
    scmdWerknemergegevens.Parameters.AddWithValue("@gsm_nr", txtGsmNr.Text);

    try
    {
        int temp = Convert.ToInt32(txtPostcode.Text);
    }
    catch (Exception h)
    {
        MessageBox.Show("Please provide number only");
    }

    scmdWerknemergegevens.Connection = loonberekening;

    loonberekening.Open();
    scmdWerknemergegevens.ExecuteNonQuery();
    loonberekening.Close();
}
尝试:


请添加错误文本,并为您使用的数据库添加标记。@[e-mail]看起来很奇怪,请尝试更合理的@emailHi。谢谢您的帮助,但现在我遇到了这个错误:您应该指定SqlCommand参数的数据类型,并从文本中进行一些数据类型转换@[e-mail]两个都更改了吗?
scmdWerknemergegevens = new SqlCommand(@"insert into werknemers(naam, voornaam, straat, huisnr, postcode, gemeente, burgerlijkestand, geboorte_datum, kinderen_ten_laste, afdeling, in_dienst_sinds, gewest, minder_valide, minder_valide_partner, minder_valide_kinderen, inkomen_partner, [e-mail], tel_nr, gsm_nr) values (@naam, @voornaam, @straat, @huisnr, @postcode, @gemeente, @burgerlijkestand, @geboorte_datum, @kinderen_ten_laste, @afdeling, @in_dienst_sinds, @gewest, @minder_valide, @minder_valide_partner, @minder_valide_kinderen, @inkomen_partner, @[e-mail], @tel_nr, @gsm_nr)",loonberekening);