C# 操作PostgreSQL 数据库的示例代码

首先我们需要使用C#的 Npgsql 库来连接并操作 PostgreSQL数据库。

连接PostgreSQL数据库

要连接 PostgreSQL 数据库,需要使用 Npgsql 库并指定主机名、端口、用户名和密码。下面是一个示例代码:

using Npgsql;

NpgsqlConnection conn = new NpgsqlConnection("Server=127.0.0.1;Port=5432;User Id=postgres;Password=password;Database=myDatabase");

try
{
    conn.Open();
    Console.WriteLine("Connected to PostgreSQL.");
}
catch (Exception ex)
{
    Console.WriteLine("Failed to connect to PostgreSQL: " + ex.Message);
}
finally
{
    conn.Close();
}

在此代码中,我们使用 NpgsqlConnection 对象来连接到 PostgreSQL 数据库。然后我们调用 Open() 方法来打开数据库连接。通过捕获异常,我们可以在连接失败时输出错误信息。

查询数据

下面是一个查询 PostgreSQL 数据库中表的示例代码:

using Npgsql;

NpgsqlConnection conn = new NpgsqlConnection("Server=127.0.0.1;Port=5432;User Id=postgres;Password=password;Database=myDatabase");

try
{
    conn.Open();

    NpgsqlCommand cmd = new NpgsqlCommand("SELECT * FROM customers", conn);

    NpgsqlDataReader reader = cmd.ExecuteReader();

    while (reader.Read())
    {
        Console.WriteLine("{0} \t{1} \t{2} \t{3}", reader.GetInt32(0), reader.GetString(1), reader.GetString(2), reader.GetInt32(3));
    }

}
catch (Exception ex)
{
    Console.WriteLine("Failed to query data: " + ex.Message);
}
finally
{
    conn.Close();
}

在此代码中,我们创建了一个 NpgsqlCommand 对象,并指定 SELECT 命令和已连接的数据库连接对象。然后我们调用 ExecuteReader() 方法获取 PostgreSQLDataReader 对象,并使用 while 循环从中读取数据。

插入数据

下面是一个向 PostgreSQL 数据库中插入数据的示例代码:

using Npgsql;

NpgsqlConnection conn = new NpgsqlConnection("Server=127.0.0.1;Port=5432;User Id=postgres;Password=password;Database=myDatabase");

try
{
    conn.Open();

    NpgsqlCommand cmd = new NpgsqlCommand("INSERT INTO customers(name, address, age) VALUES(@name, @address, @age)", conn);

    cmd.Parameters.AddWithValue("@name", "John Doe");
    cmd.Parameters.AddWithValue("@address", "123 Main Street");
    cmd.Parameters.AddWithValue("@age", 30);

    int rowsAffected = cmd.ExecuteNonQuery();

    Console.WriteLine("{0} rows affected.", rowsAffected);
}
catch (Exception ex)
{
    Console.WriteLine("Failed to insert data: " + ex.Message);
}
finally
{
    conn.Close();
}

在此代码中,我们创建了一个 NpgsqlCommand 对象,并指定 INSERT 命令以及已连接的数据库连接对象。我们然后为每个参数设置参数值,并调用 ExecuteNonQuery() 来插入数据。最后,我们输出受影响的行数。

以上就是连接操作和查询、插入数据的两个示例。请注意,在实际项目中,我们需要根据实际需求调整代码。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# 操作PostgreSQL 数据库的示例代码 - Python技术站

(0)
上一篇 2023年6月1日
下一篇 2023年6月2日

相关文章

  • C#获取两个数的最大公约数和最小公倍数示例

    C#获取两个数的最大公约数和最小公倍数示例 本文将介绍如何在C#中获取两个数的最大公约数和最小公倍数。我们将使用辗转相除法和欧几里得算法来计算最大公约数和最小公倍数。C#中计算最大公约数和最小公倍数的示例代码也会在文章中提供。 计算最大公约数(GCD) 两个正整数a和b的最大公约数(GCD)是能够同时整除两个数的最大正整数。下面我们将使用辗转相除法来计算两个…

    C# 2023年6月7日
    00
  • C#中利用代理实现观察者设计模式详解

    以下是实现“C#中利用代理实现观察者设计模式”的完整攻略: 1. 观察者设计模式 观察者设计模式是一种行为设计模式,允许一个对象(称为主题或可观察对象)在状态改变时自动通知其依赖对象(称为观察者)。 2. 利用代理实现观察者模式 在C#中,我们可以利用代理来实现观察者模式。代理可以用于委托方法,在调用方法之前进行一些操作,这有利于观察者模式的实现。 以下是实…

    C# 2023年6月3日
    00
  • Ruby创建数组方法总结

    Ruby创建数组方法总结 在Ruby中,创建数组有多种方法,包括使用字面量、Array.new方法以及多种常用的快捷方式。本文将为大家总结这些方法并提供示例。 使用字面量创建数组 在Ruby中,可以使用方括号 [] 来创建一个空数组,或者在方括号中添加元素来创建一个包含元素的数组。示例: # 创建一个空数组 arr1 = [] # 创建一个包含三个元素的数组…

    C# 2023年6月7日
    00
  • Unity实现角色受击身体边缘发光特效

    实现角色受击身体边缘发光特效,需要用到Shader和Unity中的Particles系统。 以下是具体实现步骤: 1. 创建Shader 首先,在Unity中创建一个新Shader文件,并将它命名为“EdgeGlow”。打开该文件,添加以下代码: Shader "Custom/EdgeGlow" { Properties { _TintC…

    C# 2023年6月3日
    00
  • C#中的委托介绍

    C#中的委托(Delegate)是一种特殊的类,用来实现事件机制、回调函数和多播委托等功能。它可以看作是一个函数的引用,可以将方法作为参数传递给委托,从而达到动态的、可扩展的编程效果。 委托的定义 C#中定义委托需要使用关键字delegate,并且需要指定方法的参数列表和返回值类型。例如: delegate int DelegateFunc(int x, i…

    C# 2023年6月7日
    00
  • 使用Hangfire+.NET 6实现定时任务管理(推荐)

    以下是使用Hangfire+.NET6实现定时任务管理的完整攻略: 1. 什么是Hangfire Hangfire是一个.NET平台上的开源库,它允许我们在用程序中轻松地实现后台和定时任务。Hangfire提供了一个简单的API,可以让我们在应用程序中创建、管理和监视后台任务和定时任务。 2. 如何使用Hangfire+.NET6实现时任务管理 使用Hang…

    C# 2023年5月12日
    00
  • C#实现简易计算器小功能

    下面我来详细讲解一下“C#实现简易计算器小功能”的完整攻略。 编写计算器程序前的准备工作 在开始编写计算器程序之前,我们需要准备好以下几个方面的工作: 编译环境 首先,我们需要安装一款C#编译环境,这里我建议使用Visual Studio。你可以在微软官网下载,也可以在第三方网站下载。我在这里提供一个链接给你:https://visualstudio.mic…

    C# 2023年6月6日
    00
  • 关于C#执行顺序带来的一些潜在问题

    针对“关于C#执行顺序带来的一些潜在问题”的问题,我们需要详细探讨C#的执行顺序,以及该顺序可能带来的问题,下面是我的完整攻略: C#的执行顺序 在C#语言中,程序的运行顺序是由代码所编写的顺序决定的,也就是按照从上到下的顺序依次执行语句(除了被注释的代码或被if/else等条件语句控制的代码块)。但是,C#程序中也有一些特殊的操作符或者语句的执行是带有优先…

    C# 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部