0

我有一个数据库。

我喜欢使用来自文本框的输入来更新我的表“Personen” 。当我单击一个按钮时,它说它已更新。但是当我查询数据库时它没有更新。

这是我的代码。

private void button1_Click(object sender, EventArgs e)
    {
        string sqlIns = @"UPDATE Personen SET Voornaam=@VN, Tussenvoegsel=@TN, Achternaam=@AN WHERE (ID=@ID) ;";

        //Maak commando object
        OleDbCommand command = new OleDbCommand(sqlIns, Connectie);
        command.Parameters.AddWithValue("@ID", Convert.ToInt32(TextBoxVerwijderen.Text));
        command.Parameters.AddWithValue("@VN", Convert.ToString(textBox1.Text));
        command.Parameters.AddWithValue("@TN", Convert.ToString(textBox2.Text));
        command.Parameters.AddWithValue("@AN", Convert.ToString(textBox3.Text));
        Connectie.Close();
        try
        {
            //Open de connectie
            Connectie.Open();
            //Voer commando uit
            command.ExecuteReader();
            Connectie.Close();
            //Meldingen succes op het scherm
            LabelSucces.Text = "Persoon is succesvol Geupdate " + sqlIns;
        }
        catch (OleDbException ex)
        {
            MessageBox.Show(ex.Message + ex.StackTrace, "Exception details");
        }
        finally
        {
            //Sluiten van de connectie
            Connectie.Close();
        }
    }

问候。亚历克斯

4

2 回答 2

0

使用 command.ExecuteNonQuery(); 代替command.ExecuteReader();

像这样使用查询

    command.Parameters.AddWithValue("ID", Convert.ToInt32(TextBoxVerwijderen.Text));
    command.Parameters.AddWithValue("VN", Convert.ToString(textBox1.Text));
    command.Parameters.AddWithValue("TN", Convert.ToString(textBox2.Text));
    command.Parameters.AddWithValue("AN", Convert.ToString(textBox3.Text));
于 2014-06-02T09:17:26.597 回答
0
Connectie.Close();

看起来这就是问题所在。删除它并尝试在开始时打开连接并在结束时关闭。之间不要做任何事。

于 2014-06-02T10:12:53.503 回答