使用对DataTable

时间:2018-05-11 17:27:50

标签: c# datatable dataset rows sqldataadapter

我正在尝试更新一个列,并在从sql表中检索的DataTable中删除它后面的行,只要该列等于一个值,并且后面一行中的同一列以另一个值开始。

SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Con"].ConnectionString);
        SqlDataAdapter adapter = new SqlDataAdapter("SELECT * from tbl_Copy_Journal", con);
        DataSet Journals = new DataSet();
        adapter.Fill(Journals, "tbl_Copy_Journal");
        foreach (DataTable table in Journals.Tables)
        {
            for (int i = 0; i < Journals.Tables[0].Rows.Count; i++)
            {
                String action = Journals.Tables[0].Rows[i]["Action"].ToString();
                if (action == "reading dispensed")
                {

                    String action1= Journals.Tables[0].Rows[i+1]["Action"].ToString();
                    if (action1.StartsWith("Referred"))
                    {

                        String _Action = Journals.Tables[0].Rows[i]["Action"].ToString() + ", " + Journals.Tables[0].Rows[i + 1]["Action"].ToString();
                        Journals.Tables[0].Rows[i + 1].Delete();
                        Journals.Tables[0].Rows[i]["Action"] = _Action;
                    }
                    adapter.Update(Journals, "tbl_Copy_Journal");
                    Journals.AcceptChanges();
                }


            }
        }

代码返回当传递带有修改行的DataRow集合时,Update需要有效的UpdateCommand。 有没有办法删除和更新datatable中的行并修复此代码。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

你可以通过他们的要求来解决问题。提供UpdateCommand