毎回、2つのテーブルにデータを挿入しようとしていますが、最初のテーブルはデータを取得しますが、連絡先データは空のままで、エラーが発生します:スカラー変数@telefoonnummerを宣言する必要がありますか?あなたは「@Telefoonnummer」を持っていますが、最後にあなたがs
でそれを持っている値を割り当てるときに、後で@telefoonnummerのスカラー変数を宣言しなければなりませんか?
は年代を削除し、それが動作するSQLクエリで
private void button1_Click(object sender, EventArgs e)
{
using (SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\Nickd\documents\VB\killerapp\killerapp\CVNeetKompleet.mdf;Integrated Security=True"))
{
SqlCommand CmdSql = new SqlCommand("INSERT INTO [Ledenlijst] (Voornaam, Achternaam, Adres, HuisNr, Postcode, Woonplaats, Geboortedatum) VALUES (@Voornaam, @Achternaam, @Adres, @HuisNr, @Postcode, @Woonplaats, @Geboortedatum)", conn);
conn.Open();
CmdSql.Parameters.AddWithValue("@Voornaam", tbInvoer.Text);
CmdSql.Parameters.AddWithValue("@Achternaam", tbAchternaam.Text);
CmdSql.Parameters.AddWithValue("@Adres", tbAdres.Text);
CmdSql.Parameters.AddWithValue("@HuisNr", tbHuisNummer.Text);
CmdSql.Parameters.AddWithValue("@Postcode", tbPostcode.Text);
CmdSql.Parameters.AddWithValue("@Woonplaats", tbWoonplaats.Text);
CmdSql.Parameters.AddWithValue("@Geboortedatum", tbGeboortedatum.Text);
CmdSql.ExecuteNonQuery();
SqlCommand CmdSql2 = new SqlCommand("INSERT INTO [Contact] (EmailAdres, Telefoonnummer) VALUES (@EmailAdres, @Telefoonnummer)", conn);
CmdSql2.Parameters.AddWithValue("@EmailAdres", tbEmail.Text);
CmdSql2.Parameters.AddWithValue("@Telefoonnummers", Convert.ToInt32(tbTelefoonnummer.Text));
CmdSql2.ExecuteNonQuery();
conn.Close();
}
}
Telefoonnummer対Telefoonnummers:
正しいは次のようにする必要があります。ところで、なぜそれをintに変換していますか?先行ゼロが削除されます。それは電話番号で重要です。 –
[あなたは既にAddWithValue()を使用して停止できますか?](http://blogs.msmvps.com/jcoehoorn/blog/2014/05/12/can-we-stop-using-addwithvalue-already/)をチェックしてください。 '.AddWithValue()'の使用を止めると、予期せぬ驚くべき結果につながる可能性があります。 –