C#链接PostgreSQL数据库并插入json数据

问题描述:

    项目需要,对提取的数据以json格式插入到PostgreSQL数据库

解决方法:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;



using Npgsql;
namespace learnGDAL
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
         
        
        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                string pgisConnectString = "Host=localhost;Port=5432;Username=postgres;Password=postgres;Database=test_db";
                NpgsqlConnection conn1 = new NpgsqlConnection(pgisConnectString);
                conn1.Open();
                using (NpgsqlCommand command1 = new NpgsqlCommand())
                {
                    string ss = "PG:dbname='test_db' host='localhost' port='5432' user='postgres' password = 'postgres'";
                    OSGeo.OGR.Driver dr1 = Ogr.GetDriverByName("PostgreSQL");
                    DataSource ds1 = Ogr.Open(ss, 0);

                    string sql = "insert into test(ProvData) values('[{\"regionid\":\"110000\",\"name\":\"北京市\",\"number\":6331,\"area\":277898,\"materialRatio\":{\"彩色\":813,\"塑料\":273488,\"玻璃\":129,\"光伏\":0,\"连栋\":1309,\"其他\":2081,\"混凝土\":74},\"types\":{\"N\":6185,\"F\":83,\"KH\":63},\"areaRatio\":{\"N\":126000,\"F\":101800,\"KH\":50094},\"timeid\":\"201901\",\"changenum\":{\"KH\":{\"K\":3,\"N\":3,\"QC\":25,\"BC\":1},\"F\":{\"K\":3,\"N\":3,\"QC\":8,\"BC\":8}},\"changearea\":{\"KH\":{\"K\":4,\"N\":27,\"QC\":12,\"BC\":0.1},\"F\":{\"K\":23,\"N\":155,\"QC\":559,\"BC\":187}}}]');";
                    NpgsqlDataAdapter sda = new NpgsqlDataAdapter(sql, pgisConnectString);
                    
                }
            }
            catch
            {
            }
        }
        
    }
}

相关依赖:

NPgsql及Mono.Security各版本支持文件

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值