行未在gridview中更新 [英] row is not updating in gridview
问题描述
想要更新gridview.i中的行已编写此代码。我正在从ID更新并且id是int type.i认为这是行没有更新的问题。
请帮助我... ....
<前lang =c#> 受保护 void GridView1_RowUpdating( object sender,GridViewUpdateEventArgs e)
{
GridViewRow row = GridView1.Rows [e .RowIndex];
TextBox ID =(TextBox)row.FindControl( TextBoxEditID) ;
TextBox node =(TextBox)row.FindControl( TextBoxEditNode);
TextBox title =(TextBox)row.FindControl( TextBoxEdittitle);
TextBox source =(TextBox)row.FindControl( TextBoxEditsource);
TextBox scope =(TextBox)row.FindControl( TextBoxEditscope);
// int IDD = Int32.Parse(GridView1.DataKeys [e .RowIndex] .Value.ToString());
int IDD = Convert.ToInt32(ID.ToString()) ;
string nod = node.Text;
string tit = title.Text;
string sou = source.Text;
string scpe = scope.Text;
更新(IDD,nod,tit,sou,scpe);
}
private void 更新( int IDD, string nod, string tit, string sou, string scpe)
{
尝试
{
string query = UPDATE ['2013 Projects $'] SET Node = @nod,Title = @ tit,Source = @ sou,Scope = @scpe,WHERE ID = @ IDD跨度>;
con = new SqlConnection(connstring);
cmd = new SqlCommand(query,con);
cmd.Parameters.Add( @ nod ,SqlDbType.VarChar).Value = nod;
cmd.Parameters.Add( @ tit,SqlDbType.VarChar).Value =山雀;
cmd.Parameters.Add( @ sou,SqlDbType.VarChar).Value =薮;
cmd.Parameters.Add( @ scpe,SqlDbType.VarChar).Value = SCPE;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
GridView1.EditIndex = -1;
data();
}
catch (例外情况)
{
throw ex;
}
} '] SET Node = @nod, Title = @ tit,Source = @ sou,Scope = @scpe,WHERE ID = @ IDD
;
con = new SqlConnection(connstring );
cmd = new SqlCommand(query,con);
cmd.Parameters.Add( @ nod,SqlDbType.VarChar).Value = nod;
cmd.Parameters.Add( @ tit,SqlDbType.VarChar).Value = tit;
cmd.Parameters。添加( @ sou,SqlDbType.VarChar).Value = sou;
cmd。 Parameters.Add( @scpe,SqlDbType.VarChar).Value = scpe;
con.Open();
cmd.ExecuteNonQuery();
con.Clo se();
GridView1.EditIndex = -1;
data();
}
catch (例外情况)
{
throw ex;
}
}
您的代码中存在问题。
您忘记分配参数@IDD
。
请做类似下面的事情。
cmd.Parameters.Add( @IDD,SqlDbType.Int).Value = IDD;
want to update row in gridview.i had written this code.i am updating from ID and id is int type.i think so that is the problem that row is not updating.
please help me with that....
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
GridViewRow row = GridView1.Rows[e.RowIndex];
TextBox ID = (TextBox)row.FindControl("TextBoxEditID");
TextBox node = (TextBox)row.FindControl("TextBoxEditNode");
TextBox title = (TextBox)row.FindControl("TextBoxEdittitle");
TextBox source = (TextBox)row.FindControl("TextBoxEditsource");
TextBox scope = (TextBox)row.FindControl("TextBoxEditscope");
//int IDD = Int32.Parse(GridView1.DataKeys[e.RowIndex].Value.ToString());
int IDD = Convert.ToInt32(ID.ToString());
string nod = node.Text;
string tit = title.Text;
string sou = source.Text;
string scpe = scope.Text;
Update(IDD, nod, tit, sou, scpe);
}
private void Update(int IDD, string nod, string tit, string sou, string scpe)
{
try
{
string query = "UPDATE ['2013 Projects$'] SET Node =@nod, Title =@tit, Source =@sou, Scope =@scpe, WHERE ID=@IDD";
con = new SqlConnection(connstring);
cmd = new SqlCommand(query, con);
cmd.Parameters.Add("@nod", SqlDbType.VarChar).Value = nod;
cmd.Parameters.Add("@tit", SqlDbType.VarChar).Value = tit;
cmd.Parameters.Add("@sou", SqlDbType.VarChar).Value = sou;
cmd.Parameters.Add("@scpe", SqlDbType.VarChar).Value = scpe;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
GridView1.EditIndex = -1;
data();
}
catch (Exception ex)
{
throw ex;
}
}
'] SET Node =@nod, Title =@tit, Source =@sou, Scope =@scpe, WHERE ID=@IDD"; con = new SqlConnection(connstring); cmd = new SqlCommand(query, con); cmd.Parameters.Add("@nod", SqlDbType.VarChar).Value = nod; cmd.Parameters.Add("@tit", SqlDbType.VarChar).Value = tit; cmd.Parameters.Add("@sou", SqlDbType.VarChar).Value = sou; cmd.Parameters.Add("@scpe", SqlDbType.VarChar).Value = scpe; con.Open(); cmd.ExecuteNonQuery(); con.Close(); GridView1.EditIndex = -1; data(); } catch (Exception ex) { throw ex; } }
There is a problem in your code.
You have forgot to assign the parameter@IDD
.
Please do something like below.
cmd.Parameters.Add("@IDD", SqlDbType.Int).Value = IDD;
这篇关于行未在gridview中更新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!