簡體   English   中英

從DataGridView和SQL Server數據庫中刪除一行

[英]Deleting a row from DataGridView and SQL Server database

我正在嘗試刪除DataGridView和SQL Server數據庫中的一行數據。 在第一次單擊刪除按鈕時,它顯示

MessageBox.Show("Record Deleted Successfully!");

但是在DataGridView和數據庫中未刪除所選行。

這是我的代碼:

private void PayratesDisplay()
{
    con.Open();

    DataTable dt = new DataTable();
    adap = new SqlDataAdapter("select Membership AS [Membership Type], PerSession AS [Per Session], Discounted from tbl_payrates", con);

    adap.Fill(dt);

    dataGridView4.DataSource = dt;

    con.Close();
}

// Clear Data  
private void ClearData()
{
    tbMemship.Text = "";
    tbPerses.Text = "";
    tbDisc.Text = "";
    ID = 0;
}

private void btn_PRdel_Click(object sender, EventArgs e)
{
    if (ID != 0)
    {
        con.Open();

        cmd = new SqlCommand("DELETE FROM tbl_payrates WHERE Membership = @Membership", con);
        cmd.Parameters.AddWithValue("@Membership", ID);

        cmd.ExecuteNonQuery();

        con.Close();

        MessageBox.Show("Record Deleted Successfully!");

        PayratesDisplay();
        ClearData();
    }
}  

如果我理解正確,則您正在嘗試刪除網格的當前行。 然后就不需要ID成員,您可以使用類似這樣的東西

private void btn_PRdel_Click(object sender, EventArgs e)
{
    var row = dataGridView4.CurrentRow;
    if (row == null) return;
    var ID = row.Cells["Membership Type"].Value;
    // The rest of the code (w/o the "if ID != 0")
}

像這樣更改代碼

int r=cmd.ExecuteNonQuery();
con.Close();
if(r>0){MessageBox.Show("Record Deleted Successfully!");}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM