您当前的位置:首页 > 计算机 > 编程开发 > .net

.NET C#连接使用PostgreSQL数据库

时间:02-06来源:作者:点击数:

.NET C#连接PostgreSQL数据库需要使用Npgsql驱动程序。Npgsql是.NET Framework和.NET Core中的一个开源PostgreSQL驱动程序。

要使用Npgsql,需要先在项目中添加引用。可以通过NuGet包管理器来添加引用。在包管理器控制台中,搜索“Npgsql”,然后选择“安装”。

C#连接使用PostgreSQL数据库

添加引用后,就可以开始连接PostgreSQL数据库了。连接数据库需要以下步骤:

创建一个NpgsqlConnection对象。

设置连接字符串。

打开连接。

连接字符串包含以下信息:

数据库服务器的地址

数据库的端口号

数据库的名称

用户名

密码

连接字符串的格式如下:

Host=<server_address>;Port=<port_number>;Database=<database_name>;Username=<username>;Password=<password>

例如,如果数据库服务器的地址是localhost,端口号是5432,数据库的名称是test,用户名是postgres,密码是123456,则连接字符串为:

Host=localhost;Port=5432;Database=test;Username=postgres;Password=123456

连接数据库的代码如下:

using Npgsql;

class Program
{
    static void Main(string[] args)
    {
        // 创建一个NpgsqlConnection对象
        NpgsqlConnection conn = new NpgsqlConnection("Host=localhost;Port=5432;Database=test;Username=postgres;Password=123456");

        // 设置连接字符串
        conn.ConnectionString = "Host=localhost;Port=5432;Database=test;Username=postgres;Password=123456";

        // 打开连接
        try
        {
            conn.Open();
            Console.WriteLine("连接成功");
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }

        // 关闭连接
        conn.Close();
    }
}

连接成功后,就可以使用Npgsql提供的API来操作数据库了。例如,可以使用NpgsqlCommand对象来执行SQL语句。

执行SQL语句的代码如下:

using Npgsql;

class Program
{
    static void Main(string[] args)
    {
        // 创建一个NpgsqlConnection对象
        NpgsqlConnection conn = new NpgsqlConnection("Host=localhost;Port=5432;Database=test;Username=postgres;Password=123456");

        // 设置连接字符串
        conn.ConnectionString = "Host=localhost;Port=5432;Database=test;Username=postgres;Password=123456";

        // 打开连接
        try
        {
            conn.Open();

            // 创建一个NpgsqlCommand对象
            NpgsqlCommand cmd = new NpgsqlCommand("SELECT * FROM users", conn);

            // 执行SQL语句
            NpgsqlDataReader reader = cmd.ExecuteReader();

            // 遍历结果集
            while (reader.Read())
            {
                // 获取结果集中的字段值
                int id = reader["id"].Value<int>();
                string name = reader["name"].Value<string>();
                int age = reader["age"].Value<int>();

                // 输出结果
                Console.WriteLine($"id={id}, name={name}, age={age}");
            }

            // 关闭连接
            conn.Close();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
    }
}

以上代码将查询users表中的数据,并将结果输出到控制台。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门