【问题标题】:Update database table with changes made to DataTable使用对 DataTable 所做的更改更新数据库表
【发布时间】:2018-10-22 04:02:34
【问题描述】:

我正在尝试更新一列并删除从 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。 有没有办法删除和更新数据表中的行并修复此代码。任何帮助表示赞赏。

【问题讨论】:

  • 只是一个见解...您声明 int index 和 int index1 并且从不使用它们。
  • 谢谢,我更新了我的代码,它们只是为了跟踪。你觉得我怎么解决这个问题?
  • 错误就在眼前。对于您可能执行的每个操作(SELECT、INSERT、UPDATE 和 DELETE),适配器都需要一个命令。您只提供了一个 SELECT 命令。 Check this
  • 还要在adapter.Fill(Journals, "tbl_Copy_Journal")之后检查this answer、adapter.UpdateCommand = new SqlCommandBuilder(adapter).GetUpdateCommand();

标签: c# datatable dataset rows sqldataadapter


【解决方案1】:

你按照他们的要求来解决它。提供UpdateCommand。

【讨论】:

  • 即使我添加了更新命令,记录也没有更新。
猜你喜欢
  • 2013-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-01
  • 1970-01-01
  • 2011-09-03
相关资源
最近更新 更多