通过选择组合框删除数据库数据然后使用按钮c#删除它

时间:2014-03-06 18:46:45

标签: c# mysql

所以我想从MySql中删除数据,方法是选择我想要在CombBox中删除的数据,然后使用按钮删除我想删除它,所以我在想它是否可以使用这段代码:

string Query = "DELETE FROM filmi.film WHERE film='"+this.comboBox2."' ;";

但是我不知道在+this.comboBox2.之后要放什么< - 这里还是有其他办法吗?

整个代码:

private void button4_Click(object sender, EventArgs e)
    {
        string constring = "datasource=localhost;port=3306;username=root;password=";
        string Query = "DELETE FROM filmi.film WHERE film='"+this.comboBox2."' ;";
        MySqlConnection conDataBase = new MySqlConnection(constring);
        MySqlCommand cmdDataBase = new MySqlCommand(Query, conDataBase);
        MySqlDataReader myReader;
        try
        {
            conDataBase.Open();
            myReader = cmdDataBase.ExecuteReader();
            MessageBox.Show("Deleted");
            while (myReader.Read())
            {
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

2 个答案:

答案 0 :(得分:1)

  

但我不知道在+ this.comboBox2之后要放什么。 < - here

您可以使用SelectedItem属性从Combobox获取SelectedItem。

建议:您的查询已向SQL-Injection attacks开放,因此我建议您使用Parameterised Queries来避免这些问题。

试一试:使用Parameterised Queries

    string Query = "DELETE FROM filmi.film WHERE film=@film;";
    MySqlConnection conDataBase = new MySqlConnection(constring);
    MySqlCommand cmdDataBase = new MySqlCommand(Query, conDataBase);
    cmdDataBase.Parameters.AddWithValue("@film",this.comboBox2.SelectedItem);

答案 1 :(得分:0)

ComboBox类包含SelectedItem和SelectedValue的成员。这取决于您的组合框填充的内容,您尚未在帖子中指定。如果它只是字符串,你可以使用它们。

请参阅http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox(v=vs.110).aspx

上的文档