C# gridView中的复选框不';不要更新我的表
我使用以下代码在点击复选框时填充表格,但表格中没有任何更改C# gridView中的复选框不';不要更新我的表,c#,C#,我使用以下代码在点击复选框时填充表格,但表格中没有任何更改 protected void Button1_Click(object sender, EventArgs e) { con.Open(); for (int i = 0; i < GridView1.Rows.Count; i++) { CheckBox chkUpdate = (CheckBox) GridView1.Rows[i].
protected void Button1_Click(object sender, EventArgs e)
{
con.Open();
for (int i = 0; i < GridView1.Rows.Count; i++)
{
CheckBox chkUpdate = (CheckBox)
GridView1.Rows[i].Cells[0].FindControl("chkSelect");
if (chkUpdate != null)
{
if (chkUpdate.Checked)
{
string strID = GridView1.Rows[i].Cells[1].Text;
SqlCommand cmd;
string str1 = "update app1 set p_id=0 where p_id='" + strID + "'";
cmd = new SqlCommand(str1, con);
cmd .ExecuteNonQuery ();
}
}
}
}
受保护的无效按钮1\u单击(对象发送者,事件参数e)
{
con.Open();
对于(int i=0;i
我猜您在cmd.ExecuteNonQuery()中确实没有空格代码>
调试时,能否进入if(chkUpdate.Checked)
块 试试这段代码,它很管用
foreach (GridViewRows gdrv in GridView1.Rows)
{
CheckBox chkUpdate = (CheckBox)
gdrv.FindControl("chkSelect");
if (chkUpdate != null)
{
if (chkUpdate.Checked)
{
string strID = gdrv.Cells[1].Text;
SqlCommand cmd;
string str1 = "update app1 set p_id=0 where p_id='" + strID + "'";
cmd = new SqlCommand(str1, con);
con.open();
cmd .ExecuteNonQuery ();
con.close();
}
}
}
我认为查询中唯一的问题是“Where”条件。。。如果p_id为Int类型,则不必使用“”
因此,声明必须是:
string str1 = "update app1 set p_id=0 where p_id=" + strID;
嗯…你的问题是什么?首先,我没有看到问号。其次,我看不出这段代码与填充DataGridView
有什么关系。p\u id
的数据类型是什么?@boby and kael我有一个名为app1的表(两列'nam'和'p\u id'p\u id为int类型)…在前端,我在gridview中使用复选框,当用户最终单击按钮时单击复选框..应将更改反映回表格尝试删除查询中的单引号。。而不是string str1=“更新app1设置p_id=0,其中p_id=”+strID+”
,使用string str1=“更新app1设置p_id=0,其中p_id=“+strID代码>小心sql注入。@adrianos cmd.ExecuteOnQuery不是一个空格,它是一个问题格式问题。可以调试该方法吗?也就是说,如果在其上放置断点,它是否找到复选框?另外,检查是否在页面加载中重新填充该网格。当回发错误时,你可能只想做(从数据库中重新填充)是的,我做了…但没有得到满意的答案这意味着什么?您的代码进入if(chkUpdate.Checked)代码块?使用此代码,我会得到错误“gridview不包含任何单元格定义您在单元格中使用了什么[1]是否有任何html控件是正确的,我确信上面的代码应该适用于它