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

yizhihongxing

首先我们需要使用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# 使用Process调用外部程序中所遇到的参数问题

    浅析C#使用Process调用外部程序中所遇到的参数问题 介绍 在使用C#中的Process类调用外部程序时,我们常常会遇到参数问题,例如,我们想要执行ping www.google.com这条命令,但是在C#程序中调用时,却无法成功执行。本篇文章将详细讲解在使用C#中的Process类调用外部程序时所遇到的参数问题及其解决方案。 参数问题 当我们使用Pro…

    C# 2023年5月15日
    00
  • c#基础之数组与接口使用示例(遍历数组 二维数组)

    我很乐意为您讲解“c#基础之数组与接口使用示例(遍历数组 二维数组)”,以下是详细攻略: 一、先了解什么是数组 在编程中,我们需要用到一种有序的数据结构,即数组。数组是一种由相同类型的元素组成的有序集合。每个元素在数组中都有一个唯一的序号,称为下标,通过下标可以访问到数组中的元素。在C#中,数组是引用类型,需要使用new运算符来创建数组对象。 以下是一个简单…

    C# 2023年6月1日
    00
  • asp.net 临时数据保存实现代码

    针对“asp.net 临时数据保存实现代码”的问题,下面是一份详细攻略: 1. 前置知识 在开始这个攻略之前,我们需要掌握以下几个asp.net的知识点: Session机制:它能够在一个用户会话中存储和检索变量的信息。 ViewState机制:它可以在一个ASP.NET Web页面中用于在一些控件之间保存状态信息,从而避免了在每次Post请求时重新获取页面…

    C# 2023年5月31日
    00
  • 让Laravel API永远返回JSON格式响应的方法示例

    让我详细讲解一下“让Laravel API永远返回JSON格式响应的方法示例”。 1. 确定默认的响应格式 Laravel框架提供了一个Response类,可以方便的创建许多类型的响应,包括JSON响应。可以通过修改app/Http/Controllers/Controller.php中的构造函数来设置默认的响应格式为JSON。在构造函数中添加如下代码即可:…

    C# 2023年6月1日
    00
  • C#编程获取客户端计算机硬件及系统信息功能示例

    下面是详细讲解“C#编程获取客户端计算机硬件及系统信息功能示例”的完整攻略: 介绍 在开发过程中,我们有时需要获取客户端计算机的硬件和系统信息来帮助我们更好地处理业务逻辑。这个过程可以用C#编程来实现,这篇攻略将介绍如何通过C#获取客户端计算机的硬件和系统信息。 获取硬件信息 要获取客户端计算机的硬件信息,可以使用System.Management命名空间中…

    C# 2023年6月7日
    00
  • 在 ASP.NET Core 中为 gRPC 服务添加全局异常处理

    在 ASP.NET Core 中为 gRPC 服务添加全局异常处理的攻略如下: 步骤一:创建异常处理器 在 ASP.NET Core 中为 gRPC 服务添加全局异常处理,需要创建一个异常处理器。以下是一个示例: public class GrpcExceptionHandler { public async Task HandleException(Htt…

    C# 2023年5月17日
    00
  • C#实现Zip压缩目录中所有文件的方法

    下面是C#实现压缩目录中所有文件的方法的完整攻略: 准备工作 在开始之前,需要引用System.IO.Compression和System.IO.Compression.FileSystem这两个命名空间。如果使用Visual Studio,则可以通过添加引用来完成。 在代码中,需要先声明这两个命名空间: using System.IO.Compressio…

    C# 2023年6月1日
    00
  • 用C#中的params关键字实现方法形参个数可变

    使用params关键字可以实现C#中方法形参个数可变。在方法的参数列表中,可以在最后一个参数前添加params关键字,这个参数就会成为可变参数,允许传递多个同类型的值,并把它们打包成一个数组。下面是具体的步骤: 1.在方法定义时,在最后一个参数前添加params关键字,表示该参数可以传递多个同类型的值。 2.在方法内部,使用该参数时,直接把该参数当成数组来使…

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