基于.NET开发

.NET应用访问UDB-TX数据库时,可以使用NPGSQL开源驱动,该驱动可以直接在Visual studio的Nuget包管理器中直接安装引用。操作步骤如下:

  1. 在Visual studio(这里以2022版本为例)的工作环境中,创建或者打开已经存在的.NET工程(此过程略),打开菜单“工具” —> “NuGet包管理器” —> “管理解决方案的NuGet程序包”,出现如下窗口:

../../_images/NuGet.png

 在”浏览”标签页,输入npgsql就会列出Npgsql驱动包,选择第一个Npgsql,然后点击右侧的”安装”按钮,及完成安装,在工程中即可引用。

下面是使用Npgsql的例子:

using Npgsql;

var connString = "Host=192.168.2.151;port=5678;Username=unvdb;Password=123456;Database=unvdb";

await using var conn = new NpgsqlConnection(connString);
await conn.OpenAsync();

// Insert some data
await using (var cmd = new NpgsqlCommand("CREATE TABLE tbl_sample (a int4, b int4, c char(16))", conn))
{
    await cmd.ExecuteNonQueryAsync();
}

// Retrieve all rows
await using (var cmd = new NpgsqlCommand("INSERT INTO tbl_sample VALUES (1, 1, '0000001')", conn))
{
    await cmd.ExecuteNonQueryAsync();
}

await using (var cmd = new NpgsqlCommand("INSERT INTO tbl_sample VALUES (2, 2, '0000002')", conn))
{
    await cmd.ExecuteNonQueryAsync();
}

await using (var cmd = new NpgsqlCommand("SELECT * FROM tbl_sample", conn))
await using (var reader = await cmd.ExecuteReaderAsync())
{
    while (await reader.ReadAsync())
        Console.WriteLine("{0},{1},{2}", reader.GetInt32(0), reader.GetInt32(1), reader.GetString(2));
}

/***********************************************************
程序执行结果,在控制台窗口打印输出:
1,1,0000001
2,2,0000002
***********************************************************/