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

本文关键字:读取 数组 字段 数据库 何使用 | 更新日期: 2023-09-27 18:05:53

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

谁能帮我?

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

对于数组数据类型,所要做的就是将结果强制转换为双精度数组:

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();

—EDIT 2/18/2021—

从Npgsql 5.0开始,上面的方法似乎在大多数情况下都是有效的,但是文档指定了一种不同的方法来提取数组数据类型:

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

在c# (.NET)中使用PostgreSQL

你需要给我们一些具体的问题,这样我们才能帮助解决问题。