gpt4 book ai didi

c# - 如何从datagridview和数据库中删除选定的行

转载 作者:太空狗 更新时间:2023-10-30 00:45:24 24 4
gpt4 key购买 nike

想法是删除时选择的行从datagridview、数据库中删除,然后刷新datagridview。我假设它必须用 SQL 来完成,但是你如何将文本类型的 sqlcommand 与特定行的删除代码链接起来?数据库由一个表组成,数据网格绑定(bind)到它。

删除按钮:

private void btnBookRecord_Click(object sender, EventArgs e)
{
if (this.BooksGrid.SelectedRows.Count > 0)
{
foreach (DataGridViewRow dgvrCurrent in BooksGrid.SelectedRows)
{
if (dgvrCurrent == BooksGrid.CurrentRow)
{
BooksGrid.CurrentCell = null;
}

// Delete row code here
}
}
}

最佳答案

由于某种原因,datagridview 不会更新,即使我从有效的添加按钮复制了刷新代码。但它确实从数据库中删除了记录。

private void deleteRecord()
{
if (BooksGrid.SelectedRows.Count > 0)
{
int selectedIndex = BooksGrid.SelectedRows[0].Index;

int rowID = int.Parse(BooksGrid[0, selectedIndex].Value.ToString());
string sql = "DELETE FROM Table1 WHERE RowID = @RowID";

SqlCommand deleteRecord = new SqlCommand();
deleteRecord.Connection = Booksconnection;
deleteRecord.CommandType = CommandType.Text;
deleteRecord.CommandText = sql;

SqlParameter RowParameter = new SqlParameter();
RowParameter.ParameterName = "@RowID";
RowParameter.SqlDbType = SqlDbType.Int;
RowParameter.IsNullable = false;
RowParameter.Value = rowID;

deleteRecord.Parameters.Add(RowParameter);

deleteRecord.Connection.Open();

deleteRecord.ExecuteNonQuery();

deleteRecord.Connection.Close();

booksDataset1.GetChanges();

sqlDataAdapter1.Fill(booksDataset1.Videos);
}
}

关于c# - 如何从datagridview和数据库中删除选定的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5539243/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com