使用gridview复选框和按钮从数据库中删除数据
问题描述:
大家好,我有一个问题,这是我的填充数据代码
Hello everybody I have a question this is my populating data codes
public void Populateicerik()
{
string bag = WebConfigurationManager.ConnectionStrings["AdminPanel.Properties.Settings.ConnStr"].ConnectionString;
SqlConnection con = new SqlConnection(bag);
string komut = "select icerikID,KBaslik,icerikDurum,icerikErisim,icerikMetin from icerik inner join kategoriler on KID = KategoriID";
SqlCommand cmd = new SqlCommand(komut, con);
SqlDataAdapter adp = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adp.Fill(dt);
GridView3.DataSource = dt;
GridView3.DataBind();
con.Open();
con.Close();
GridView3.HeaderRow.Cells[1].Text = "iID";
GridView3.HeaderRow.Cells[2].Text = "Kategori";
GridView3.HeaderRow.Cells[3].Text = "Durum";
GridView3.HeaderRow.Cells[4].Text = "Erişim";
GridView3.HeaderRow.Cells[5].Text = "İçerik";
}
and this delete codes
protected void LinkButton2_Click(object sender, EventArgs e)
{
foreach (GridViewRow row in GridView3.Rows)
{
var chk = row.FindControl("Chk") as CheckBox;
if (chk.Checked)
{
string bag = WebConfigurationManager.ConnectionStrings["AdminPanel.Properties.Settings.ConnStr"].ConnectionString;
SqlConnection con = new SqlConnection(bag);
SqlCommand cmd = new SqlCommand("icerik_Delete", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("icerikID", GridView3.SelectedRow.Cells[1].Text);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
}
}
这不工作gridview3.selectedrow变为null我应该怎么做才能使它正确请帮助谢谢。
this is not working gridview3.selectedrow turns as null what shoul I do to make it correct please help thank you .
答
你可以尝试下面的代码
You can try below code
protected void LinkButton2_Click(object sender, EventArgs e)
{
foreach (GridViewRow row in GridView3.Rows)
{
var chk = row.FindControl("Chk") as CheckBox;
if (Request[chk.UniqueID] != null)
{
string bag = WebConfigurationManager.ConnectionStrings["AdminPanel.Properties.Settings.ConnStr"].ConnectionString;
SqlConnection con = new SqlConnection(bag);
SqlCommand cmd = new SqlCommand("icerik_Delete", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("icerikID", GridView3.SelectedRow.Cells[1].Text);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
}
}
非常感谢你,但是我用这个修复了它/>
thank you very much but I fixed it by using this
cmd.Parameters.AddWithValue("@icerikID", SqlDbType.Int);
cmd.Parameters["@icerikID"].Value = GridView3.Rows[row.RowIndex].Cells[1].Text;