所以我想从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);
}
}
答案 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
上的文档