欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > 如何在 .NET 环境中使用 Npgsql 驱动连接 KaiwuDB

如何在 .NET 环境中使用 Npgsql 驱动连接 KaiwuDB

2025/4/19 10:12:29 来源:https://blog.csdn.net/weixin_48916144/article/details/147272202  浏览:    关键词:如何在 .NET 环境中使用 Npgsql 驱动连接 KaiwuDB

在现代软件开发中,数据库连接和操作是任何应用程序的核心部分。本文将介绍如何在 .NET 环境下,使用 Npgsql 驱动连接 KaiwuDB,并执行基本的数据库操作,包括创建表、插入数据和查询操作。我们假设您已经安装并配置好了 KaiwuDB 数据库,并且熟悉基本的数据库操作。

1. 前提条件

在开始之前,确保以下环境已经准备好:

  • 安装 .NET 6.0 和 Visual Studio C# 2022:确保您已经安装了 .NET 6.0 SDK 和 Visual Studio 2022。可以从 微软官方网站 下载并安装。

  • 安装和运行 KaiwuDB:您需要确保 KaiwuDB 数据库已经正确安装并运行,同时完成基本的配置,包括数据库认证方式。

  • 数据库用户:创建一个具有表级及以上操作权限的用户。

2. 创建 .NET 控制台项目

首先,我们需要创建一个 .NET 控制台应用程序,来实现与 KaiwuDB 的连接操作。在命令行中,运行以下命令:

dotnet new console -o kaiwudb-test-app

该命令将会在 kaiwudb-test-app 目录下创建一个新的控制台应用程序。进入该目录:

cd kaiwudb-test-app
3. 安装 Npgsql 包

接下来,您需要安装用于连接 PostgreSQL 数据库的 Npgsql 驱动。运行以下命令来安装 Npgsql 包:

dotnet add package Npgsql
4. 编辑 Program.cs 文件

在项目目录中,找到自动生成的 Program.cs 文件,替换其内容为以下示例代码:

using System;
using System.Data;
using System.Net.Security;
using Npgsql;namespace Example
{class MainClass{static void Main(string[] args){var connStringBuilder = new NpgsqlConnectionStringBuilder();connStringBuilder.Host = "172.18.139.126";  // 数据库主机地址connStringBuilder.Port = 26257;  // KaiwuDB 的端口connStringBuilder.Username = "test";  // 数据库用户名connStringBuilder.Password = "123";  // 数据库密码connStringBuilder.Database = "bank";  // 使用的数据库名称// 调用方法执行数据库操作Simple(connStringBuilder.ConnectionString);}static void Simple(string connString){using (var conn = new NpgsqlConnection(connString)){conn.Open();// 创建 "accounts" 表using (var cmd = new NpgsqlCommand("CREATE TABLE IF NOT EXISTS accounts (id INT PRIMARY KEY, balance INT)", conn)){cmd.ExecuteNonQuery();}// 插入两行数据到 "accounts" 表using (var cmd = new NpgsqlCommand()){cmd.Connection = conn;cmd.CommandText = "UPSERT INTO accounts(id, balance) VALUES(@id1, @val1), (@id2, @val2)";cmd.Parameters.AddWithValue("id1", 1);cmd.Parameters.AddWithValue("val1", 1000);cmd.Parameters.AddWithValue("id2", 2);cmd.Parameters.AddWithValue("val2", 250);cmd.ExecuteNonQuery();}// 查询并输出 "accounts" 表中的余额Console.WriteLine("Initial balances:");using (var cmd = new NpgsqlCommand("SELECT id, balance FROM accounts", conn))using (var reader = cmd.ExecuteReader())while (reader.Read())Console.Write("\taccount {0}: {1}\n", reader.GetValue(0), reader.GetValue(1));// 创建时间序列数据库using (var cmd = new NpgsqlCommand("CREATE TS DATABASE db_TimeSeries", conn)){cmd.ExecuteNonQuery();}// 创建时间序列表using (var cmd = new NpgsqlCommand("CREATE TABLE db_TimeSeries.table1 " + "(k_timestamp timestamp NOT NULL, " +"voltage double, " +"current double, " +"temperature double " +") TAGS ( " +"number int NOT NULL) " +"PRIMARY TAGS(number) " + "ACTIVETIME 3h; ", conn)){cmd.ExecuteNonQuery();}// 向时间序列表插入数据using (var cmd = new NpgsqlCommand("INSERT INTO db_TimeSeries.table1 " +"VALUES ( " +"'2024-07-01 10:00:00', " +"220.0, 3.0, 20.5, " +"123); ", conn)){cmd.ExecuteNonQuery();}// 查询并输出时间序列表的数据Console.WriteLine("Data from time series table db_TimeSeries.table1:");using (var cmd = new NpgsqlCommand("SELECT * from db_TimeSeries.table1", conn))using (var reader = cmd.ExecuteReader())while (reader.Read())Console.Write("\tTime: {0}\tvoltage: {1}\tcurrent: {2}\ttemperature: {3}\tnumber: {4}\n", reader.GetValue(0), reader.GetValue(1), reader.GetValue(2), reader.GetValue(3), reader.GetValue(4));}}}
}

上述代码实现了以下操作:

  1. 连接到 KaiwuDB 数据库。

  2. 创建一个名为 accounts 的表,并插入两行数据。

  3. 查询 accounts 表中的数据并输出。

  4. 创建时间序列数据库 db_TimeSeries

  5. 创建时间序列表,并插入一条时间序列数据。

  6. 查询并输出时间序列表的数据。

5. 检查项目文件

确保 kaiwudb-test-app.csproj 文件中包含了 Npgsql 依赖项。检查或手动修改项目文件如下:

<Project Sdk="Microsoft.NET.Sdk"><PropertyGroup><OutputType>Exe</OutputType><TargetFramework>net6.0</TargetFramework><RootNamespace>kaiwudb_test_app</RootNamespace><ImplicitUsings>enable</ImplicitUsings><Nullable>enable</Nullable></PropertyGroup><ItemGroup><PackageReference Include="Npgsql" Version="8.0.3" /></ItemGroup>
</Project>
6. 运行程序

在终端中执行以下命令来运行程序:

dotnet run

程序将会连接 KaiwuDB,执行创建表、插入数据、查询数据等操作,并在控制台输出相关信息。

7. 输出结果

运行结果将显示账户余额和时间序列数据。以下是一个示例输出:

Initial balances:account 1: 1000account 2: 250
Data from time series table db_TimeSeries.table1:Time: 2024-07-01 10:00:00	voltage: 220.0	current: 3.0	temperature: 20.5	number: 123
总结

通过使用 Npgsql 驱动,您可以轻松地在 .NET 环境中连接 KaiwuDB,并执行各种数据库操作。本文展示了如何进行数据库连接、创建表、插入数据和查询操作,为开发者提供了一个清晰的参考示例。在实际应用中,您可以根据自己的需求扩展功能,进行更复杂的数据操作。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词