当前位置: 首页 > 面试题库 >

C#将datagridview数据写入SQL表

焦宏硕
2023-03-14
问题内容

我在SQL数据库中有四个coloum表。前三个列的信息由另一个来源提供。默认情况下,coloum 4设置为null。

然后,我获得了一个带有数据表的胜利表格,该数据表使用以下代码填充了来自sql tabase的信息:

    public DataTable populateFormList()
    {


            SqlConnection con = new SqlConnection(Properties.Settings.Default.sqlConnectionString);
            SqlCommand cmd = new SqlCommand("SELECT * FROM of_formlist_raw", con);
            con.Open();

            SqlDataReader reader = cmd.ExecuteReader();

            DataTable dt = new DataTable();
            dt.Load(reader);

            return dt;
}

datagridview2.DataSource = populateFormList();
datagridview2.Refresh();

现在,可以很好地获取我的数据。

然后,用户可以更改第4列中的空值。

我如何轻松地将这些更改从数据表写回到SQL表中?

换句话说,一旦屏幕上的数据表具有附加值,我该如何将更新后的信息存储回最初从中获取更新信息的SQL数据中?

谢谢。


问题答案:

尝试这样的事情,然后将其(DataTable)datagridview2.DataSource作为数据表传递:

private static void BulkInsertToSQL(DataTable dt, string tableName)
        {

                using (SqlConnection con = new SqlConnection(_DB))
                {
                    SqlBulkCopy sbc = new SqlBulkCopy(con);
                    sbc.DestinationTableName = tableName;

                    //if your DB col names don鈥檛 match your data table column names 100%
                    //then relate the source data table column names with the destination DB cols
                    sbc.ColumnMappings.Add("DBAttributeName1", "DTColumnName1");
                    sbc.ColumnMappings.Add("DBAttributeName2", "DTColumnName2");
                    sbc.ColumnMappings.Add("DBAttributeName3", "DTColumnName3");
                    sbc.ColumnMappings.Add("DBAttributeName4", "DTColumnName4");

                    con.Open();

                    sbc.WriteToServer(dt);
                    con.Close();
                }


        }


 类似资料:
  • 问题内容: 我希望我的问题不会很荒谬,因为令人惊讶的是,就流行的网站而言(据我所知)显然还没有真正问过这个问题。 情况是我有几个csv文件,总共包含1个以上的Mio观测值。每个观察结果都包含一个邮政地址。我打算将所有文件读入一个GeoDataFrame中,对地址进行地理编码,在给定shapefile的情况下执行空间连接,并为每行保存来自多边形的一些信息。我想是相当标准的。这是一次性数据清理过程的一

  • 问题内容: 我需要将 DataTable 绑定到 DataGridView 。我这样做: 但我得到的是 数据表中 增加了新的 列到我 的DataGridView 。我不需要这个,我只需要在现有列下编写即可。 拜托,帮帮我,伙计们! 问题答案: 尝试这个: 如果您不想清除所有现有的列,则必须为每个现有的列进行设置,如下所示:

  • 问题内容: 在我们的应用程序中,我们希望用户输入如下: 我想在单元测试中通过该部分,以便我可以恢复线程以执行其余代码。我如何从junit 写入内容? 问题答案: 你想要做的是使用的方法从。这将使您可以从junit 传递数据。

  • 本文向大家介绍C# DataGridView绑定数据源的方法,包括了C# DataGridView绑定数据源的方法的使用技巧和注意事项,需要的朋友参考一下 开始以前,先认识一下WinForm控件数据绑定的两种形式,简单数据绑定和复杂数据绑定。 1. 简单的数据绑定 例1 简单的数据绑定是将用户控件的某一个属性绑定至某一个类型实例上的某一属性。 采用如下形式进行绑定:引用控件.DataBinding

  • 问题内容: 我正在用C#编写Winforms应用程序,该应用程序使用户可以使用datagridview编辑和更新数据库。 问题是,我无法使其正常工作。我唯一要实现的就是更新datagridview所显示的内容,但是当我进入数据库表时,数据没有任何变化。我搜索了很多讨论该问题的站点,但对我来说仍然没有任何用处。 到目前为止我尝试过的事情: 将数据库绑定到datagridview 将属性更改为 使用带

  • 我正试图用C#语言逐行写入一个文件。这是我的功能 整个函数在一个循环中运行,每一行都应该写入文件。在我的例子中,下一行覆盖现有行,最后,我在csv文件中只得到一条记录,这是最后一条。如何写入文件中的所有行?