Asp.net Gridview更新不工作

Asp.net Gridview更新不工作,asp.net,gridview,Asp.net,Gridview,我的表数据类型 以上是表数据类型 点击更新按钮后,它甚至没有显示任何错误 protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { string Createid =((Label)GridView1.Rows[e.RowIndex].FindControl("lblID")).Text;

我的表数据类型

以上是表数据类型

点击更新按钮后,它甚至没有显示任何错误

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
            {
                    string Createid =((Label)GridView1.Rows[e.RowIndex].FindControl("lblID")).Text;
                    string Client_Name = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtClientName")).Text;
                    string Client_Contact_Name = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtContactPerson")).Text;
                    string Client_Contact_Role = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtPosition")).Text;
                    string Client_Contact_Email_ID = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtMailID")).Text;
                    string Phone_Number = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtPhNumber")).Text;
                    string No_of_Openings = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtOpenings")).Text;
                    string Technology = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtTech")).Text;
                    string Status = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtStatus")).Text;
                    string Op_Start_Date = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtStrtDate")).Text;
                    string Op_End_Date = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("txtEndDate")).Text;
            con.Open();

                    SqlCommand cmd = new SqlCommand("UPDATE Client_Det set Client_Name=@Client_Name, " + " Client_Contact_Name= @Client_Contact_Name, " + " Client_Contact_Role= @Client_Contact_Role, " + " Client_Contact_Email_ID = @Client_Contact_Email_ID , " + " Phone_Number= @Phone_Number , " + "No_of_Openings=@No_of_Openings ,  " + "Technology=@Technology, " + "Status=@Status, " + " Op_Start_Date=@Op_Start_Date , " + " Op_End_Date=@Op_End_Date where Createid= @Createid", con);
                    cmd.ExecuteNonQuery();

                    con.Close();
                    GridView1.EditIndex = -1;
                    gvbind();


                }

这是我的gridview源代码。。。
我在提供正确的字段方面是否做错了什么。。请告诉我你做错了。您的更新查询没有任何作用。要么将其指定为参数,要么直接指定变量名

选项1


存在未正确引用的变量。所以这些值没有附加到查询中

PS-从安全角度来看,这是一种非常糟糕的编写查询的方法。您的代码为SQL注入攻击保留空间。选项2将是编写查询的更好方法

选项2


通过命令参数

这基本上就是给参数赋值,给命令参数指定的参数名应该等于查询中指定的参数名。因此,下面只是一个你可以实现的一瞥

SqlCommand cmd = new SqlCommand("UPDATE Client_Det set Client_Name='"+ Client_Name +"', Client_Contact_Name='"+ Client_Contact_Name +"', Client_Contact_Role='"+Client_Contact_Role+"', Client_Contact_Email_ID ='"+ Client_Contact_Email_ID+"', Phone_Number='"+Phone_Number+"', No_of_Openings='"+No_of_Openings+"', Technology='"+Technology+"', Status='"+Status+"', Op_Start_Date='"+ Op_Start_Date +"', Op_End_Date='"+Op_End_Date+"' where Createid='"+Createid+"'", con);

每个
AddValueWith
上的第一个参数,即
@Client\u Name
@Client\u Contact\u Name
应与
update query
中给出的参数相同,第二个参数,即
Client\u Name
Client\u Contact\u Name
是从
网格视图控件
中获取的值,如
文本框
标签
等,

您有任何错误吗?我没有任何错误。。。但在单击“更新”后,它不会更新。您是否仔细检查了代码,以查看每个变量中是否有值,并且您的查询是否正在执行?我尝试了您给出的代码。。。但还是一样的问题。。。它没有得到更新。。。但页面仍仅处于编辑模式。。感谢您的建议在代码中放置一个
调试器
,然后检查?另外,将代码包装在
try catch
块中,检查是否有任何异常
SqlCommand cmd = new SqlCommand("UPDATE Client_Det set Client_Name='"+ Client_Name +"', Client_Contact_Name='"+ Client_Contact_Name +"', Client_Contact_Role='"+Client_Contact_Role+"', Client_Contact_Email_ID ='"+ Client_Contact_Email_ID+"', Phone_Number='"+Phone_Number+"', No_of_Openings='"+No_of_Openings+"', Technology='"+Technology+"', Status='"+Status+"', Op_Start_Date='"+ Op_Start_Date +"', Op_End_Date='"+Op_End_Date+"' where Createid='"+Createid+"'", con);
string sql = "UPDATE Client_Det set Client_Name=@Client_Name, Client_Contact_Name= @Client_Contact_Name, Client_Contact_Role= @Client_Contact_Role, Client_Contact_Email_ID = @Client_Contact_Email_ID , Phone_Number= @Phone_Number ,No_of_Openings=@No_of_Openings, Technology=@Technology,Status=@Status,Op_Start_Date=@Op_Start_Date, Op_End_Date=@Op_End_Date where Createid= @Createid";

SqlCommand cmd = new SqlCommand(sql, con);

cmd.Parameters.AddWithValue("@Client_Name", Client_Name);
cmd.Parameters.AddWithValue("@Client_Contact_Name",Client_Contact_Name) 
/*Add for remaining param values*/


cmd.ExecuteNonQuery();
con.Close();
GridView1.EditIndex = -1;
gvbind();