行未在gridview中更新 [英] row is not updating in gridview

查看:61
本文介绍了行未在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆