【问题标题】:Populate database with Dictionary entries (postgresql, C#)使用字典条目(postgresql、C#)填充数据库
【发布时间】:2021-03-03 01:41:27
【问题描述】:

我有一个 Dictionary 里面有一些条目。我想用它的数据填充我的 postgresql 数据库。

我可以执行一个 for 循环并一次执行一个 INSERT 查询,但这看起来很难看,而且可能很慢。

我想知道是否有任何方法可以立即执行此操作,如何执行此操作?

【问题讨论】:

  • @mason 编辑了一个正确的问题。
  • 什么版本?你在使用网络核心吗?英孚 6 号?
  • Postgres 允许在一个 INSERT 语句中设置多个“值”来插入多行。因此,您可以遍历字典以创建单个 INSERT 语句,然后将其发送到数据库。
  • this question 展示了如何在 SQL Server 的单个语句中处理多行,尽管许多答案也适用于 Postgres。

标签: c# database postgresql dictionary


【解决方案1】:

感谢@Ralf 和@mason,他们帮助我找到了实现这一目标的方法。

这就是我让它发挥作用的原因:

        using (NpgsqlConnection sqlCon = new NpgsqlConnection(sql))
        {
            sqlCon.Open();

            string values = String.Join("), (", mdoCodes.ToArray()).Replace("[", "").Replace("]", "");

            // string sqlString = @"Insert into codigos_mdo(code, descricao) Values('teste', 'teste');";
            string sqlString = @"INSERT INTO codigos_mdo(code, descricao) 
                               Values ( " + values + ");";
            using (NpgsqlCommand sqlCmd = new NpgsqlCommand(sqlString, sqlCon))
            {
                sqlCmd.ExecuteNonQuery();
            }    
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 2018-01-29
    • 2020-07-10
    • 2019-06-06
    • 2013-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多