Insert en C# avec SQLCommand

Quelle est la meilleure façon d'INSÉRER des données dans une base de données?

C'est ce que j'ai, mais c'est faux..

cmd.CommandText = "INSERT INTO klant(klant_id,naam,voornaam) VALUES(@param1,@param2,@param3)";

cmd.Parameters.Add(new SqlParameter("@param1", klantId));
cmd.Parameters.Add(new SqlParameter("@param2", klantNaam));
cmd.Parameters.Add(new SqlParameter("@param3", klantVoornaam));

La fonction ajouter des données dans la zone de liste

http://www.pictourl.com/viewer/37e4edcf (link is dead)

mais pas dans la base de données..

http://www.pictourl.com/viewer/4d5721fc (link is dead)

La fonction complète:

private void Form1_Load(object sender, EventArgs e)
{            
    conn2 = new SqlConnection();
    conn2.ConnectionString = ConfigurationManager.ConnectionStrings["connSpionshopString"].ConnectionString;
}

private void button2_Click(object sender, EventArgs e)
{         
    string sqlCmd = "SELECT naam,voornaam,klant_id FROM klant;";
    SqlCommand cmd = new SqlCommand(sqlCmd, conn2);

    conn2.Open();

    using(SqlDataReader reader = cmd.ExecuteReader())
    {
        while (reader.Read())
        {
            listBox2.Items.Add(reader.GetString(0) + " " + reader.GetString(1) + "  (" + reader.GetInt16(2) + ")");
        }  
    }
    conn2.Close();
}

private void button4_Click(object sender, EventArgs e)
{
    int klantId = Convert.ToInt32(textBox1.Text);
    string klantNaam = textBox2.Text;
    string klantVoornaam = textBox3.Text;

    conn2.Open();

    SqlCommand cmd = new SqlCommand();
    cmd.Connection = conn2;
    cmd.CommandText = "INSERT INTO klant(klant_id, naam, voornaam)   VALUES(@param1,@param2,@param3)";

    cmd.Parameters.AddWithValue("@param1", klantId);
    cmd.Parameters.AddWithValue("@param2", klantNaam);
    cmd.Parameters.AddWithValue("@param3", klantVoornaam);

    cmd.ExecuteNonQuery(); 

    conn2.Close();
}
"C'est faux" est aussi vague que vous le pouvez au sujet de ce qui se passe. Veuillez expliquer ce que vous êtes en train d'observer. Notez que vous ne devez en fait execute la commande...
Pouvez-vous donner plus de détails? Que voulez-vous dire que c'est mal?
Cette est double d'une question qui a déjà été fermé. Et cela ne fonctionne toujours pas même avoir un essai bloc catch qui a été le premier commentaire dans la question fermée.
Votre question est essentiellement la même qu'avant: stackoverflow.com/questions/12936345/listbox-and-database-issue. Même code, et le même manque de précision quant à ce que vous demandez. Je vous conseille peut-être penser que c'est comme si l'écriture d'un rapport de bogue: ce qui se passe avec votre code, ce que vous aimeriez, et où/comment vous voyez le problème.
Donc ce n'est pas le code? Je parie ExecuteNonQuery lever une exception ou retourne la valeur 0. Votre code zéro n'vérification d'erreur. -1

OriginalL'auteur KevinDW | 2012-10-17