从ASP更新sql数据:Gridview文本框

时间:2016-10-26 18:38:51

标签: c# asp.net

我有一个显示3个ASP:gridview对象的ASPX应用程序。我已经从SQLite表中选择了某些列,以根据这些列中的值显示在每个gridview中。我遇到的问题是使用一个gridview。此gridview从表中拉出6列,并将其与2个ButtonFields和1个Templatefield控件一起显示在其中。其中一个按钮应该将文本框中的文本(由用户输入)插入到表中。然后,应用程序刷新gridview,插入的数据应显示在列中。

我正在使用以下内容将数据插入表中:

    protected void gvApproved_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        int rowIndex = Convert.ToInt32(e.CommandArgument);
        GridViewRow row = gvApproved.Rows[rowIndex];
        string name = row.Cells[0].Text;
        string column = "";
        string value = "";
        switch (e.CommandName)
        {
            case "Close":
                column = "closed";
                value = "yes";
                break;
            case "Score":
                column = "score";
                value = row.Cells[8].Text;
                break;
        }
        SQL_Helper.Update_Row(rowIndex, column, value, name);
        Refresh_All_Grids();
    }

更新行命令,以防有人好奇:

    public static void Update_Row(int rowIndex, string updateField, string updateString, string updateName)
    {
        string query = "UPDATE applications SET '" + updateField + "' = '" + updateString + "' WHERE name = '" + updateName + "';";
        Query_Table(query);
    }

当我将行value = row.Cells[8].Text;设置为value = row.Cells[8].ToString()时,它会将'System.Web.UI.WebControls.DataControlFieldCell'插入到表中,因此我知道它正在从右列中拉出来,但是当我将其保留为上面所写的时候,它插入一个空字符串。是否无法从gridview文本框插入?如果是,我需要更改什么才能使其正常工作?

1 个答案:

答案 0 :(得分:0)

我之前发布了我之前发布的答案,但随后更多地了解它我意识到你正在使用GridViewRow,而不是DataGridViewRow。您应该将问题更新为不包含有关DataGridView的任何内容。 GridViewRow.Cells [8]没有像我在下面的答案中提到的那样有价值。

我只是评论看看这个小建议是否修正了它,但我还没有50个代表。你必须使用Value而不仅仅是Cell本身。

这有用吗?

 value = row.Cells[8].Value.ToString();