.NET C#连接PostgreSQL数据库需要使用Npgsql驱动程序。Npgsql是.NET Framework和.NET Core中的一个开源PostgreSQL驱动程序。
要使用Npgsql,需要先在项目中添加引用。可以通过NuGet包管理器来添加引用。在包管理器控制台中,搜索“Npgsql”,然后选择“安装”。
添加引用后,就可以开始连接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表中的数据,并将结果输出到控制台。