C#datagridview利用主键删除一行 求详细代码
if(dataGridView1.SelectedRows.Count>0){if(DialogResult.OK==MessageBox.Show("确定要删除?","...
if (dataGridView1.SelectedRows.Count > 0)
{
if (DialogResult.OK == MessageBox.Show("确定要删除?", "系统提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
{
int idl = 0;
idl = Int32.Parse(this.dataGridView1.CurrentRow.Cells[0].Value.ToString());
userbll.Delete(idl);
this.usertabTableAdapter.Fill(this.sensorDataSet.usertab);
}
}
else
{
MessageBox.Show("请选择一行");
}
这是我编写的butten事件 运行后没有反应 展开
{
if (DialogResult.OK == MessageBox.Show("确定要删除?", "系统提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
{
int idl = 0;
idl = Int32.Parse(this.dataGridView1.CurrentRow.Cells[0].Value.ToString());
userbll.Delete(idl);
this.usertabTableAdapter.Fill(this.sensorDataSet.usertab);
}
}
else
{
MessageBox.Show("请选择一行");
}
这是我编写的butten事件 运行后没有反应 展开
展开全部
public bool DeleteProduct(int productID)
{
bool X;
SqlConnection conn = new SqlConnection
("Data Source=;initial catalog=;user id=sa;pwd =;");
conn.Open();
string delete = "delete from [Products Information] where ProductsID='" + productID + "'";
//Create a connection to DataBase.
SqlCommand cmd1 = new SqlCommand(delete, conn);
int i = cmd1.ExecuteNonQuery();
if (i != 0)
{ X = true; }
else
{
X = false;
}
return X;
}
protected void GridView1_RowDeleting1(object sender, GridViewDeleteEventArgs e)
{
int productID = Convert.ToInt32(((Label)(GridView1.Rows[e.RowIndex].FindControl("Label1"))).Text);
//Get the ID of the table ProductsInformation.
bool success = DeleteProduct(productID);
if (success)
{
Response.Write("<script>alert('Delete successfully')</script>");
Response.Redirect("AdminHomepage.aspx");
}
else
{
Response.Write("<script>alert('Delete not successfully')</script>");
}
}
{
bool X;
SqlConnection conn = new SqlConnection
("Data Source=;initial catalog=;user id=sa;pwd =;");
conn.Open();
string delete = "delete from [Products Information] where ProductsID='" + productID + "'";
//Create a connection to DataBase.
SqlCommand cmd1 = new SqlCommand(delete, conn);
int i = cmd1.ExecuteNonQuery();
if (i != 0)
{ X = true; }
else
{
X = false;
}
return X;
}
protected void GridView1_RowDeleting1(object sender, GridViewDeleteEventArgs e)
{
int productID = Convert.ToInt32(((Label)(GridView1.Rows[e.RowIndex].FindControl("Label1"))).Text);
//Get the ID of the table ProductsInformation.
bool success = DeleteProduct(productID);
if (success)
{
Response.Write("<script>alert('Delete successfully')</script>");
Response.Redirect("AdminHomepage.aspx");
}
else
{
Response.Write("<script>alert('Delete not successfully')</script>");
}
}
展开全部
删了之后你要 DataBind啊。 删了之后你不刷新就只能去数据库才能看到有反映咯- -!
追问
问题是运行后去数据库看都没反应
追答
userbll.Delete(idl) 这句是删除的把
断点这个一句去 调试咯
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把这句代码
Int32.Parse(this.dataGridView1.CurrentRow.Cells[0].Value.ToString());
换成
Int32.Parse(this.dataGridView1.DataKeys.[这里放你要删除的那行的索引].ToString());
你得注意一下DataKeys要在dataGridView属性中加一个主键字段就可以了
给我加分,我回答得挺辛苦!
Int32.Parse(this.dataGridView1.CurrentRow.Cells[0].Value.ToString());
换成
Int32.Parse(this.dataGridView1.DataKeys.[这里放你要删除的那行的索引].ToString());
你得注意一下DataKeys要在dataGridView属性中加一个主键字段就可以了
给我加分,我回答得挺辛苦!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
自己加断点一步步调,确认到哪步出问题再看,万一你这事件都没触发呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1,gridview中是否有select按钮
2,你要删除行直接在gridview delete事件里写不就行了
3,删除后gridview要重新绑定数据源
2,你要删除行直接在gridview delete事件里写不就行了
3,删除后gridview要重新绑定数据源
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你调试下 idl有值吗
追问
有值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询