我正在使用 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/