【发布时间】:2016-12-08 01:50:16
【问题描述】:
这是我第一次来这里,如果我错过了发布规则或其他任何内容,请多多包涵。 我正在寻找使用 C# 从数据库中删除一行的正确方法。我已经编写了从 datagridview 中删除它的代码,但是我要添加什么来完全从数据库中删除它?
这是目前为止的代码:
foreach (DataGridViewRow row in dataGridView1.SelectedRows)
{
if (!row.IsNewRow)
{
dataGridView1.Rows.Remove(row);
}
MessageBox.Show("Selected rows Deleted");
}
这是我一开始尝试的,认为可以通过搜索:
OpenConnection();
string productType = txtDeleteProduct.Text;
MainForm frm = new MainForm();
mySqlDataAdapter = new MySqlDataAdapter("DELETE * from products WHERE ProductType= '@productType';", connection);
DataSet DS = new DataSet();
mySqlDataAdapter.Fill(DS);
dataGridView1.DataSource = DS.Tables[0];
CloseConnection();
【问题讨论】:
-
AFAIK
DataGridView.Rows.Remove只是从数据集中删除项目,而不是从数据库中删除。您需要包含 SQL 命令来删除选定的行并使用ExecuteNonQuery方法来运行它。 -
您需要使用MySQLCommandBuilder。这是关于 MySQLCommandBuilder 的SO question。也许它可以帮助你。