c# - 如何使用 C# 从数据库中读取数组字段?

标签 c# arrays postgresql npgsql

我正在使用 C# 和 postgresql。在数据库中,我有一个名为 test 的表在这张表中,我有一列名为 arr它的数据类型是 double[]我像这样存储了多个记录 {1, 1, 2, 3, 0, 5, 1, 4} .现在,如何将这些记录返回到 C# 程序中并存储在列表中,例如 List<double[]> arr1 = new List<double[]>();

谁能帮帮我?

最佳答案

对于数组数据类型,您所要做的就是将结果转换为 double 组:

NpgsqlConnection conn = new NpgsqlConnection(connectionString);
conn.Open();

NpgsqlCommand cmd = new NpgsqlCommand("select arr from test", conn);
NpgsqlDataReader reader = cmd.ExecuteReader();

while (reader.Read())
{
    double[] myArray = (double[])reader.GetValue(0);
    // do your bidding
}

reader.Close();

-- 编辑 2/18/2021 --

从 Npgsql 5.0 开始,上述方法似乎大部分时间都有效,但文档指定了一种不同的方法来提取数组数据类型:

double[] myArray = reader.GetFieldValue<double[]>(0)

关于c# - 如何使用 C# 从数据库中读取数组字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39329681/

相关文章:

C#。 OpenTK 与 OpenGL 的代码相同吗?

c - 如何在 C 中创建随机字符串数组?

c - 在 C 中的同一个字符串上多次应用 strstr()

sql - 将 double 转换为文本的 Postgres 创建 '1.50000000000'

git - Homebrew 软件更新刺激性错误消息

javascript - 如何在 ASP.NET 上使用 javascript 设置文本框的值

c# - 正则表达式 - 查找彩票号码

javascript - angularjs 将 json 对象转换为数组

sql - 如何根据组和顺序查询记录?

c# - 具有继承和组合的装饰器模式