.NET C#连接使用PostgreSQL数据库
2024-08-19
39
.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表中的数据,并将结果输出到控制台。
更新于:1个月前赞一波!4
相关文章
- 基于C#开发的socket扩展库SuperSocket用法
- .NET初级程序员面试题和答案
- .NET架构师可以考哪些证书?
- c#反编译工具推荐
- 2023年.NET常见面试题和答案
- c#网页保存为图片
- 企业项目选择.NET6还是.NET8?
- C# dynamic和object的区别
- 本机AOT与ASP.NET Core配合使用的优势
- .Net8 AOT有什么新特性
- 什么是.NET全家桶?
- .NET性能分析工具MiniProfiler使用示例
- C# KeyPress和KeyDown的区别
- .NET中运行Java代码
- .NET Core判断发起请求的设备
- .NET8 IExceptionHandler用法
- C#中使用Cancellation取消异步任务
- 使用IKVM.NET在.NET中运行Java代码
- .NET Core判断浏览器类型
- C#检测文件夹内的文件变化
文章评论
全部评论